在MVC中向DroDownList添加全局空白选项

发布于 2024-09-03 10:58:10 字数 497 浏览 2 评论 0原文

有没有一种方法可以在 mvc 中使用模板化帮助程序,以便我的项目中的每个选择列表都有一个带有 null 值的自定义默认“选择一个选项”等。

我看到的帖子似乎有点复杂,是否有可能共享视图文件夹中的 DropDownList.ascx 文件,内容如下:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<SelectListItem>>" %>
<%= Html.DropDownList(selectlist name, selectlist value, "Choose an option")%>

然后为 ViewModel 中的每个下拉列表添加一个 UIHint("DropDownList") ?非常感谢有关参数语法的一些指导,其中传递了视图模型下拉列表的名称和值以及“选择一个选项”字符串。

还是这一切都是一厢情愿?

Is there a way of using a templated helper in mvc so that each and every select list in my project has a custom default 'Choose an option' with null value etc.

The posts I have seen seem a little complex, is it possible to have a DropDownList.ascx file in shared view folder with something like this:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<SelectListItem>>" %>
<%= Html.DropDownList(selectlist name, selectlist value, "Choose an option")%>

And then having a UIHint("DropDownList") for each dropdownlist in the ViewModel? Some guidance on syntax of parameters would be much appreciated, where name and value of the viewmodel dropdownlist plus the 'Choose an option' string are passed.

Or is this all wishful thinking?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你的笑 2024-09-10 10:58:11

拥有单独的视图是没有意义的,因为下拉列表只会创建 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)%>

,从您的角度来看,如果您想将文本“选择一个选项”更改为“选择一个选项”,您只需更改即可 扩展方法。

there is no point in having separate view, as the dropdown list will just create the html tag,
you can have a HTML Extension to fix your problem partially,

create a Extension method something like this

public static string MyDropDownList(this HtmlHelper htmlHelper, IEnumerable<SelectListItem> selectList) {
    return Html.DropDownList(selectlist name, selectlist value, "Choose an option");
}

and from your view you can create dropdownlist

<%= Html.MyDropDownList(selectlist name, selectlist value)%>

if you want to change the text "Choose an option" to "Select an option" you just need to change the extension method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文