我一直在搞乱一些ASP.NET MVC代码,我试图通过视图中的HTML Helper创建DropDownList,但我尝试单独创建SelectList然后传递对象引用DropDownList,它在运行代码时不会显示。它显示为标签旁边的空白区域。顺便说一句,我很清楚DropDownListFor方法,我只是好奇为什么这不起作用。
@using (Html.BeginForm())
{
@Html.ValidationSummary()
<p>Your name: @Html.TextBoxFor(x => x.Name) </p>
<p>Your email: @Html.TextBoxFor(x => x.Email)</p>
<p>Your phone: @Html.TextBoxFor(x => x.Phone)</p>
<p>Test: @Html.TextBox("Test")</p>
<p>Test2:
@{ List<SelectListItem> a = new List<SelectListItem>();
a.Add(new SelectListItem() { Text = "Jake", Value = "Jake" });
a.Add(new SelectListItem() { Text = "Sam", Value = "Sam" });
IEnumerable<SelectListItem> b = new SelectList(a);
Html.DropDownList("Test2", b, "Choose a name");
}
</p>
这就是它的样子
答案 0 :(得分:0)
您可以完全省略SelectList,并且对DropDownList
的调用需要在&#39; @&#39;
@using (Html.BeginForm())
{
@Html.ValidationSummary()
<p>Your name: @Html.TextBoxFor(x => x.Name) </p>
<p>Your email: @Html.TextBoxFor(x => x.Email)</p>
<p>Your phone: @Html.TextBoxFor(x => x.Phone)</p>
@*<p>Phone: @Html.TextAreaFor(x => x.WillAttend)</p>*@
<p>Test: @Html.TextBox("Test")</p>
<p>Test2:
@{ List<SelectListItem> a = new List<SelectListItem>();
a.Add(new SelectListItem() { Text = "Jake", Value = "Jake" });
a.Add(new SelectListItem() { Text = "Sam", Value = "Sam" });
//string c = (string)b.SelectedValue;
}
@Html.DropDownList("Test2", a, "Choose a name");
</p>
}