我认为这将是一项标准任务,但我遇到了很多困难,所以我寻求帮助。
我有一个在我的视图中大量使用的下拉菜单,现在我有很多@Html.DropDown()
相同的逻辑,我认为这是一个用自定义 html 扩展替换它的好地方。
我不会描述我的项目结构,而是发布它的屏幕截图:
因此,在HtmlExtensions.cs
我创建了我认为我需要从网上某处的示例中查看的方法。该方法如下所示:
public static MvcHtmlString YesNoNotApplicableDDown(this HtmlHelper html)
{
return MvcHtmlString.Create("<select class=\"YesNoNotApplicable\"> <option value=\"1\">Yes</option> <option value=\"2\">No</option><option value=\"3\">NotApplicable</option></select>");
}
然后我在下面添加命名web.config
空间Views
:
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="MCSResources" />
<add namespace="MaintenanceCheckSystem.Utils.HtmlExtensions" />
</namespaces>
</pages>
事实上,我在开始时尝试了使用和不使用项目名称,所以我也对此进行了测试:
<add namespace="Utils.HtmlExtensions" />
然后在我的一个观点中,我尝试了@Html.Ye..
但我没有得到任何提示,当我检查我的自定义方法时不存在。我不知道我是错过了什么还是做错了什么(可能两者兼而有之),那么我该如何做呢?