ASP.NET MVC 模型绑定器有什么用?






4.40/5 (9投票s)
这篇文章讨论了 ASP.NET MVC 模型绑定器的必要性。
模型绑定器将 HTML 表单元素映射到模型。它充当 HTML UI 和 MVC 模型之间的桥梁。
以下是一个简单的 HTML 表单示例:
<formid="frm1" method=post action=”/Customer/SubmitCustomer”>
Customer code :- <inputname="CCode"type="text"/>
Customer name :- <inputname="CName"type="text"/>
<input type=submit/>
</form>
现在,这个表单需要填充下面的“Customer
”类模型。 如果您查看 HTML 控制器的名称,它与类属性名称不同。 例如,HTML 文本框控制器的名称是“CCode
”,而类属性名称是“CustomerCode
”。 这个映射代码是在 HTML 绑定器类中编写的。
publicclassCustomer
{
publicstring CustomerCode { get; set; }
publicstring CustomerName { get; set; }
}
要创建模型绑定器,我们需要实现“IModelBinder
”接口,并将映射代码编写到“BindModel
”方法中,如下面的代码所示。
publicclassCustomerBinder : IModelBinder
{
publicobject BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
HttpRequestBase request = controllerContext.HttpContext.Request;
string strCustomerCode = request.Form.Get("CCode");
string strCustomerName = request.Form.Get("CName");
returnnewCustomer
{
CustomerCode = strCustomerCode,
CustomerName = strCustomerName
};
}
}
现在,在操作结果方法中,我们需要使用“ModelBinder
”属性,它会将绑定器附加到类模型。
publicActionResult SubmitCustomer([ModelBinder(typeof(CustomerBinder))]Customer obj)
{
return View(“DisplayCustomer”);
}
如果您完全不了解 ASP.NET MVC,可以从下面的免费 YouTube 视频开始,该视频从头开始教授 MVC 5。
如需进一步阅读,请观看以下面试准备视频和分步视频系列。