asp.net-mvc – 为什么不能通过HtmlHelper呈现所有表单控件?
发布时间:2020-12-16 09:30:06 所属栏目:asp.Net 来源:网络整理
导读:有谁知道为什么可以使用 System.Web.Mvc.HtmlHelper(隐藏,复选框,密码,文本框)呈现某些HTML表单控件,而有些则不能也应该用HTML(文件,提交)显式编写?这种分离的原理是什么? 解决方法 好问题. 我认为输入控件(例如input,select)包含在Html帮助器中,因此它们
有谁知道为什么可以使用
System.Web.Mvc.HtmlHelper(隐藏,复选框,密码,文本框)呈现某些HTML表单控件,而有些则不能也应该用HTML(文件,提交)显式编写?这种分离的原理是什么?
解决方法
好问题.
我认为输入控件(例如input,select)包含在Html帮助器中,因此它们可以通过TempData维护自己的状态,而无需用户编写大量代码来实现这一点.我还认为链接和表单控件被包装,以便为这些控件指定控制器/操作提供简单统一的方法.大多数其他控件不保证开箱即用的状态管理或需要构建的控制器/操作URL. 当然没有什么能阻止你为自己喜欢的任何控件编写自己的包装器 – 例如这是我使用的一对 – 这是一个html标签控件: public static string Label(this HtmlHelper helper,string fieldName,string labelText) { var sb = new StringBuilder(); sb.Append("<label for=""); sb.Append(fieldName); sb.Append("">"); sb.Append(labelText); sb.Append("</label>"); return sb.ToString(); } 这是我使用的一个包装标签帮助器和文本框以生成带有标签的统一文本输入字段: public static string TextField(this HtmlHelper helper,string labelText,string value) { return string.Concat( "<div>",helper.Label(fieldName,labelText),helper.TextBox(fieldName,value),"</div>"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 基于Asp.Net MVC动作的自定义授权
- asp.net – 存储库模式最佳实践
- asp.net-mvc – 如何在网站上重新创建电子表格或sharepoint
- asp.net – 设置asp:DropDownList的html’name’attriubut
- asp.net-mvc – F#Asp.Net CodeDom ProviderOptions问题
- asp.net – 使用Session来存储身份验证?
- 优化asp.net身份GetUserManager
- asp.net – 在vb.net Webapi项目中缺少request.CreateRespo
- asp.net – 负载WCF服务测试
- asp.net – 抽象通用ODataController类导致“没有找到HTTP资
推荐文章
站长推荐
- 单元测试 – 自动混合和WebApi控制器
- asp.net – 可以将OWIN Nancy与Web Forms一起使用
- asp.net-mvc – 设计ASP.NET MVC 3站点以支持客户
- asp-classic – 如何使用Microsoft.XMLHTTP指定代
- asp.net-mvc – ViewBag vs Model,在MVC.NET中
- ASP.NET-MVC 2 RC最佳功能
- asp.net-mvc – 在Web API 2中使用MVC 5 Attribu
- asp.net-mvc – ASP.NET MVC 3绑定确保表单值优先
- asp.net-mvc – MVC中的IE7仅样式表
- ASP.NET Web.config转换将无法在安装程序中使用
热点阅读