asp.net-mvc – 强大的html帮助程序,具有不同的get和post模型
发布时间:2020-05-24 13:45:07 所属栏目:asp.Net 来源:互联网
导读:如果Get Action返回带有“Car”模型的View.视图显示来自对象的信息,并将输入发送到表单内的另一个操作,该操作采用“付款”类型的对象 视图上的模型是Car类型,并为我提供了强大的html支持和一些其他功能,如displaytext.但是对于发布我没有像TextBox那样的Htmlh
|
如果Get Action返回带有“Car”模型的View.视图显示来自对象的信息,并将输入发送到表单内的另一个操作,该操作采用“付款”类型的对象 视图上的模型是Car类型,并为我提供了强大的html支持和一些其他功能,如displaytext.但是对于发布我没有像TextBox那样的Htmlhelper支持(x => x.amount我需要使它像@ Html.TextBox(“Amount”……) 解决方法你可以这样做:@{
var paymentHtml = Html.HtmlHelperFor<Payment>();
}
@paymentHtml.EditorFor(p => p.Amount)
使用此扩展方法: public static class HtmlHelperFactoryExtensions {
public static HtmlHelper<TModel> HtmlHelperFor<TModel>(this HtmlHelper htmlHelper) {
return HtmlHelperFor(htmlHelper,default(TModel));
}
public static HtmlHelper<TModel> HtmlHelperFor<TModel>(this HtmlHelper htmlHelper,TModel model) {
return HtmlHelperFor(htmlHelper,model,null);
}
public static HtmlHelper<TModel> HtmlHelperFor<TModel>(this HtmlHelper htmlHelper,TModel model,string htmlFieldPrefix) {
var viewDataContainer = CreateViewDataContainer(htmlHelper.ViewData,model);
TemplateInfo templateInfo = viewDataContainer.ViewData.TemplateInfo;
if (!String.IsNullOrEmpty(htmlFieldPrefix))
templateInfo.HtmlFieldPrefix = templateInfo.GetFullHtmlFieldName(htmlFieldPrefix);
ViewContext viewContext = htmlHelper.ViewContext;
ViewContext newViewContext = new ViewContext(viewContext.Controller.ControllerContext,viewContext.View,viewDataContainer.ViewData,viewContext.TempData,viewContext.Writer);
return new HtmlHelper<TModel>(newViewContext,viewDataContainer,htmlHelper.RouteCollection);
}
static IViewDataContainer CreateViewDataContainer(ViewDataDictionary viewData,object model) {
var newViewData = new ViewDataDictionary(viewData) {
Model = model
};
newViewData.TemplateInfo = new TemplateInfo {
HtmlFieldPrefix = newViewData.TemplateInfo.HtmlFieldPrefix
};
return new ViewDataContainer {
ViewData = newViewData
};
}
class ViewDataContainer : IViewDataContainer {
public ViewDataDictionary ViewData { get; set; }
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何配置IIS以便在连接到SQL Server时使用用户的
- asp.net-mvc – 如何在我的项目中实现强大的每个请求模式,同
- asp.net-mvc – Bug? ASP.NET MVC 2中的客户端验证导致Val
- ASP.NET中的Membership,MembershipProvider和MembershipUse
- asp.net – 如何使用Membership API与自己的应用程序相关数
- asp.net – 生成PDF,IE和HTTPS错误
- asp.net-mvc-3 – CopyAllFilesToSingleFolderForPackageDe
- asp.net – 如何可靠地跟踪CSS使用情况?
- 在ASP.NET中实现404的最佳方式
- asp.net-mvc – 如何在View中获取当前的url值
推荐文章
站长推荐
- asp.net – Microsoft JScript运行时错误:’Sys
- asp.net-mvc – 什么是Owin rememberBrowser做什
- asp.net-mvc – 在不显眼的验证过程中使用parseJ
- asp.net – 我需要将.compiled文件复制到生产服务
- Asp.Net上传前检查文件大小
- asp.net-mvc – 字段必须是数字 如何将此消息更改
- ASP.Net/C#,循环浏览页面上的某些控件?
- asp.net-mvc – MVC的HTTP缓存 – Last-Modified
- asp.net-mvc-4 – ASP.Net MVC 4和WebSecurity –
- asp.net-mvc – 具有服务层和存储库层的ASP.NET
热点阅读
