gpt4 book ai didi

asp.net-mvc-3 - html.dropdownlist MVC3 困惑

转载 作者:行者123 更新时间:2023-12-02 20:33:43 25 4
gpt4 key购买 nike

这对我有用,但我如何使用 html.dropdownlist 做同样的事情?

请注意,传递的值不是向用户显示的值。

@model IEnumerable<MVR.Models.ViewIndividual>

<h2>Level1</h2>
<select>
@foreach (var item in Model) {
<option value="@item.Case_Number">@item.Patient_Lastname ,
@item.Patient_Firstname
</option>
}
</select>

最佳答案

与往常一样,在 ASP.NET MVC 应用程序中,您首先要定义 View 模型:

public class MyViewModel
{
public string SelectedIndividual { get; set; }
public SelectList Individuals { get; set; }
}

然后编写一个 Controller 操作,从某些数据源或其他内容填充此 View 模型:

public ActionResult Index()
{
// TODO : fetch those from your repository
var values = new[]
{
new { Value = "1", Text = "item 1" },
new { Value = "2", Text = "item 2" },
new { Value = "3", Text = "item 3" },
};

var model = new MyViewModel
{
Individuals = new SelectList(values, "Value", "Text")
};
return View(model);
}

最后你有了一个使用强类型助手的强类型 View :

@model MyViewModel
@Html.DropDownListFor(
x => x.SelectedIndividual,
Model.Individuals
)

话虽这么说,因为我发现您在应用程序中没有使用任何 View 模型,所以您始终可以尝试以下丑陋的方法(不推荐,这样做需要您自担风险):

@model IEnumerable<MVR.Models.ViewIndividual>

<h2>Level1</h2>
@Html.DropDownList(
"SelectedIndividual",
new SelectList(
Model.Select(
x => new {
Value = x.Case_Number,
Text = string.Format(
"{0}, {1}",
x.Patient_Lastname,
x.Patient_Firstname
)
}
),
"Value",
"Text"
)
)

当然,我不会建议在 View 中写这样的色情内容,即使是我最大的敌人,我也不会推荐。

结论:在 ASP.NET MVC 应用程序中,您应该始终使用 View 模型和强类型 View 以及强类型帮助程序(请参阅我的答案的第一部分)。

关于asp.net-mvc-3 - html.dropdownlist MVC3 困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7409394/

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