C# Html.DropDownList的名称迭代出现问题
我有一个表,其中每一行包含表单的字段 我使用以下方法在视图中迭代:C# Html.DropDownList的名称迭代出现问题,c#,razor,asp.net-mvc-4,html-select,C#,Razor,Asp.net Mvc 4,Html Select,我有一个表,其中每一行包含表单的字段 我使用以下方法在视图中迭代: @foreach (var item in Model) { } 在foreach中,我创建了一个包含各种字段的新表行。e、 g: <tr><td> @Html.DropDownList("granny", "") </td></tr> 一切都很顺利。景色越来越美,一切看起来都很好。然而,我注意到字段的name属性{e.g <select id="granny" name
@foreach (var item in Model) { }
在foreach中,我创建了一个包含各种字段的新表行。e、 g:
<tr><td> @Html.DropDownList("granny", "") </td></tr>
一切都很顺利。景色越来越美,一切看起来都很好。然而,我注意到字段的name属性{e.g
<select id="granny" name="granny">
但是VisualStudio不太喜欢这样
这一切的短暂和甜蜜在于: 如何为ViewData生成的Html.DropDownList提供它们自己的唯一ID/名称? 如何为ViewData生成的Html.DropDownList提供它们自己的唯一ID/名称 您不能更改生成的输入字段的
名称
,这是经过设计的。只能更改id。也就是说,您不需要这样做。您可以执行以下操作:
@for (var i = 0; i < Model.Count; i++)
{
<tr>
<td>
@Html.DropDownList(
"selectedGranny",
(IEnumerable<SelectListItem>)ViewData["granny"]
)
</td>
</tr>
}
(变量i=0;i@Html.DropDownList(
"CategoryID",
(SelectList)ViewBag.CategoryId,
"--Select One--",
new{ //anonymous type
name = "granny1",
@class = "myCssClass",
onchange = "someFunction();"
})
我试着给她一个名字,但她什么也没做。也就是说,它没有改变呈现的名称。无论出于什么原因,将她转换为严格类型的视图似乎很有效。感谢您的帮助和时间。这很有效。而且,将其转换为严格类型的视图也很有帮助。谢谢!
new { @Name="xyz" + n }
@for (var i = 0; i < Model.Count; i++)
{
<tr>
<td>
@Html.DropDownList(
"selectedGranny",
(IEnumerable<SelectListItem>)ViewData["granny"]
)
</td>
</tr>
}
@Html.DropDownList(
"CategoryID",
(SelectList)ViewBag.CategoryId,
"--Select One--",
new{ //anonymous type
name = "granny1",
@class = "myCssClass",
onchange = "someFunction();"
})