DotvvmViewModelBase class contains the
Context property which provides access to various DotVVM and ASP.NET resources, like OWIN or ASP.NET Core context etc.
It can also perform redirects, return files to be downloaded, and other things.
IDotvvmRequestContext object contains the following properties and methods:
IsPostBackproperty determines whether the current request is postback, or whether the page is loaded for the first time.
ModelStateproperty represents the state of the model validation. You can report validation errors to the UI using this object's
AddModelErrormethod, or you can use the
IsValidproperty to determine whether there are any validation errors in the page.
FailOnInvalidViewModelmethod checks the validity of the viewmodel and throws an exception if the viewmodel is not valid. The request execution is interrupted and the validation errors are displayed in the client's browser (e.g. in the ValidationSummary control).
Parametersproperty is a dictionary which contains values of the route parameters.
Queryproperty is a dictionary which contains parameters from the URL query string.
HttpContextproperty gives you access to the OWIN or ASP.NET context of the current request. It's useful when you need to work with cookies, authentication etc. This property exposes a common interface over
HttpContextfrom ASP.NET Core. Not all features are available in this abstraction because of the differences of the platforms. This property is available in DotVVM 1.1 and newer. In the previous version, there was the
GetOwinContext()is an extension method which you can use in the OWIN version. It returns the real
OwinContext. This method is available in DotVVM 1.1 and newer.
GetAspNetCoreContext()is an extension method which you can use in the ASP.NET Core version to access the ASP.NET Core
HttpContext. This method is available in DotVVM 1.1 and newer.
RedirectToUrlPermanentmethods redirect the user to the specified URL. The request execution is interrupted by this call.
RedirectToRoutePermanentmethods redirect the user to the specified route and allows to supply route parameters. The request execution is interrupted by this call.
InterruptExecutioninterrupts the execution of the HTTP request by DotVVM and pass it to the next OWIN middleware.
ChangeCurrentCulturechanges the culture of the thread that executes the request.
ReturnFilefunction is used when you need to return a file which will be downloaded by the user.