有没有办法在mvc中使用模板化助手,以便我项目中的每个选择列表都有一个自定义默认值“选择一个选项”,其中包含空值等。
我看过的帖子看起来有点复杂,是否有可能在共享视图文件夹中有一个DropDownList.ascx文件,如下所示:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<SelectListItem>>" %>
<%= Html.DropDownList(selectlist name, selectlist value, "Choose an option")%>
然后为ViewModel中的每个下拉列表创建一个UIHint(“DropDownList”)?我们非常感谢有关参数语法的一些指导,其中传递了viewmodel下拉列表的名称和值以及“选择一个选项”字符串。
或者这是一厢情愿的想法吗?
答案 0 :(得分:1)
单独查看没有意义,因为下拉列表只会创建html标记, 您可以使用HTML扩展程序来部分修复问题,
创建一个像这样的扩展方法
public static string MyDropDownList(this HtmlHelper htmlHelper, IEnumerable<SelectListItem> selectList) {
return Html.DropDownList(selectlist name, selectlist value, "Choose an option");
}
从您的视图中,您可以创建下拉列表
<%= Html.MyDropDownList(selectlist name, selectlist value)%>
如果您想将“选择一个选项”更改为“选择一个选项”,您只需要更改扩展方法。