asp.net – 方法’Label’没有重载需要3个参数
我正在使用ASP.Net MVC 3,已经引用了所有正确的DLL(参见附带的截图),但由于某种原因,我得到了这个编译错误.
解决方法
这是一个奇怪的事情.我能够重现你的错误.我还能够弄清楚它为什么会发生以及如何绕过它.
为什么会这样 在 碰撞的结果是什么 System.Web.Mvc.Html 此命名空间包含方法的定义 LabelExtensions.Label(HtmlHelper,String,String) 正如您将注意到的,这是占据先例并导致问题的命名空间.它只有两个重载. (String)或(String,String).在测试时,这是唯一出现的选项. 如何绕过它 你真正想要的是这个命名空间 System.Web.WebPages.Html 此命名空间包含方法的定义 HtmlHelper.Label(String,IDictionary< String,Object>) 您现在可以看到添加新{@class =“myClass”}的可用性. 创建自己的实例 获取您自己的HtmlHelper并绕过LabelExtension,如下所示: 剃刀 @{ var h = new System.Web.WebPages.Html.HtmlHelper(); } ASP <% var h = new System.Web.WebPages.Html.HtmlHelper(); %> 确保它没有嵌套在剃刀或<%=块内,因为它会阻止它可用.它需要处于页面的全局级别. 使用正确的标签 现在你可以用这个: 剃刀 @ h.Label(“firstName”,“First Name”,new {@class =“control-label”}) ASP <%= h.Label(“firstName”,new {@class =“control-label”})%> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET -- WebForm -- HttpResponse 类的方法和属性
- asp.net-mvc – 在ASP.Net MVC中寻找转发器类型功能
- 一个IIS WebSite可以托管不同ASP.NET版本的多个Web应用程序
- ASP.NET Core在支付宝小程序中使用signalR
- 是否可以使用ASP.NET ScriptManager来使用Windows FIPS安全
- 内存不足 – 无限循环 – ASP.NET AJAX框架
- 使用asp.net标识更新用户角色
- asp.net-mvc-3 – jQuery.validator.unobtrusive.adapters.
- 如何将对本地创建的NON ASP.Net 5 dll的引用添加到ASP.Net
- ASP.NET MVC:将自定义属性放入选择列表中的选项标签
- asp.net-mvc – mvc编辑器模板结果被缓存
- asp.net-mvc – 通过F#代码迭代插入ASP.NET MVC4
- asp.net-mvc – 使用嵌套显示模板时如何防止Razo
- asp.net-mvc – 如何将数据属性放在Ajax.BeginFo
- asp.net-core – ASP.NET 5和MVC6中的project.js
- asp.net – Visual Studio 2012:无法附加进程.已
- asp.net – Visual Studio 2010调试速度慢
- asp.net – 无法在Web服务器上启动调试.无法连接
- 身份验证 – 禁止ASP.NET Core中的API URL重定向
- asp.net – “HttpContext.Current.Session”vs