gpt4 book ai didi

c# - DropDownListFor - 显示一个简单的字符串列表

转载 作者:可可西里 更新时间:2023-11-01 08:25:40 25 4
gpt4 key购买 nike

我知道已经有很多类似的问题,但我花了几个小时试图解决这个问题,其他答案似乎都没有帮助!

我只想使用 MVC 在下拉列表中显示字符串列表。这真的有那么难吗?我没有“文本”和“值”分隔(尽管 MVC 似乎需要一个)- 显示给用户的字符串是我的值。

到目前为止,我得到了以下内容:

Controller :

public ActionResult Index()
{
return View(new HomeViewModel());
}

View 模型:

public class HomeViewModel
{
public HomeViewModel()
{
Items = new SelectList(new[]
{
new SelectListItem { Text = "One", Value = "One" },
new SelectListItem { Text = "Two", Value = "Two" },
});
}

public SelectList Items { get; set; }
}

查看:

<% using (Html.BeginForm()) { %>
<% Html.DropDownListFor(x => x.Items, Model.Items); %>
<input type="submit" value="Go!" />
<% } %>

但是没有我所做的似乎导致显示下拉列表。我做错了什么?

最佳答案

<%= Html.DropDownListFor(x => x.Items, Model.Items) %>

您混淆了表达式和语句。 Html 帮助程序返回一个字符串,因此您需要使用 = 来输出“html-value”(后面没有 ;)。

更新:

Items = new SelectList(new[]
{
new SelectListItem {Text = "One", Value = "One"},
new SelectListItem {Text = "Two", Value = "Two"},
}, "Text", "Value");

更新 2:

实际上,对于您的情况,您可能会以更简单的方式进行:

public class HomeViewModel
{
public HomeViewModel()
{
Items = new SelectList(new[] { "One", "Two" });
CurrentItem = "Two";
}

public SelectList Items { get; set; }
public string CurrentItem { get; set; }
}

在 View 中:

<%= Html.DropDownListFor(x => x.CurrentItem, Model.Items) %>

关于c# - DropDownListFor - 显示一个简单的字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3386998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com