IMPORTANT: This version of Sitefinity CMS is out of support and the respective product documentation is no longer maintained and can be outdated. Use the version selector to view a supported product version.
MVC forms contain all most common fields that you need to build your form. Although you can adjust almost every setting in the designer, you may want to extend the business logic behind some of these default fields. This tutorial will demonstrate how to extend a TextField. You can use similar methodology to extend any other MVC form field.
First, you create a new class that represents you new business logic for the TextField form field:
Create a CustomTextFieldModel class that inherits from the default TextFieldModel.cs. In this example, you set a default CSS class for all TextField form fields:
public
class
CustomTextFieldModel : TextFieldModel
{
override
object
GetViewModel(
value, Telerik.Sitefinity.Metadata.Model.IMetaField metaField)
var vm =
base
.GetViewModel(value, metaField)
as
TextFieldViewModel;
vm.CssClass =
"custom-text-field"
;
return
vm;
}
Next, replace the original implementation of the TextField form field model with the new model. You do this using the Bootstrapper.Initialized event. Place the following code in your Global.asax file:
protected
void
Application_Start(
sender, EventArgs e)
Bootstrapper.Initialized +=
this
.Bootstrapper_Initialized;
private
Bootstrapper_Initialized(
sender, Telerik.Sitefinity.Data.ExecutedEventArgs e)
if
(e.CommandName ==
"Bootstrapped"
)
FrontendModule.Current.DependencyResolver.Rebind<ITextFieldModel>().To<CustomTextFieldModel>();
As a result, you changed the default behavior of all form fields due to the many virtual implementations of all controller methods and model methods.
Back To Top
To submit feedback, please update your cookie settings and allow the usage of Functional cookies.
Your feedback about this content is important