-
Notifications
You must be signed in to change notification settings - Fork 4
Using postback and model binding
Kam Figy edited this page Oct 2, 2013
·
1 revision
Presenters can now handle postback in a clean fashion by using ASP.NET MVC model binding to bind posted values to your ViewModel automatically. There is also explicit support for handling XHR (AJAX) postbacks separately, enabling easy creation of simple callbacks to the same page that return JSON data.
- MVC model validation attributes (e.g.
[Required]
) and validation controls are fully supported for Razor views, as are MVC HTML helpers (@Html.TextBoxFor(x=>x.MyStringProperty)
, for example). User Controls and Web Controls support validation, but they do not haveModelState
to pass it around to so you'd need to manually parse the validation result in the presenter for those. - To support postback, if using a
SitecorePresenter
orSynthesisPresenter
, simply override theHandlePostBackWithModelBinding
method. The method is invoked if HTTP POST is requested, and model binding is automatically executed. Similar methods exist for XHR and non-automatic-modelbinding for both. - The postback handling occurs immediately after the OnLoad event just like web forms usually does for submit event handlers. You can assume that
GetModel()
will have already been called on the presenter. - Adding custom
ModelBinders
in Global.asax, just like in MVC, should work perfectly.