Sam*_*tar 26 asp.net-mvc asp.net-mvc-3
IDI使用以下代码创建下拉列表:
@for (var index = 0; index < Model.AdminSummaries.Count(); index++)
{
<div class="rep_tr0">
<div class="rep_td0">
@Html.DropDownListFor(x => Model.AdminSummaries[index].Status, AdminStatusReference.GetAdminStatusOptions())
</div>
Run Code Online (Sandbox Code Playgroud)
代码创建以下内容:
<select id="AdminSummaries_2__Status" name="AdminSummaries[2].Status">
<option value="1">Released</option>
<option value="2">Review</option>
<option value="3">New</option>
</select>
<select id="AdminSummaries_3__Status" name="AdminSummaries[3].Status">
<option value="1">Released</option>
<option value="2">Review</option>
<option value="3">New</option>
</select>
Run Code Online (Sandbox Code Playgroud)
有什么方法可以更改它,以便创建ID "Status_2","Status_3"等.
hmz*_*hmz 74
就像@Anar在评论中说的那样;
实际上,您可以使用与id相同的方式更改name属性,但使用"Name"而不是"name".令人惊讶的是它有效.
@Html.DropDownListFor(x => Model.AdminSummaries[index].Status,
AdminStatusReference.GetAdminStatusOptions(),
new { id = string.Format("Status_{0}",index ), Name = "GiveName" });
Run Code Online (Sandbox Code Playgroud)
有时HTML帮助程序不帮助.DropDownListForFor编码可以快速实现复杂,最后它只是渲染HTML所以有时最好去老学校
<select name="myname" class="dropdownlist" id="myid">
@foreach (SelectListItem item in Model.SomeSelectList) {
if (item.Value == Model.theValue) {
<option value="@(item.Value)" selected="selected">@item.Text</option>
} else {
<option value="@(item.Value)">@item.Text</option>
}
}
</select>
Run Code Online (Sandbox Code Playgroud)
您可以像设置任何HTML属性一样设置/更改ID(但不是我找到的名称).
@Html.DropDownListFor(x => Model.AdminSummaries[index].Status, AdminStatusReference.GetAdminStatusOptions(), new { id = string.Format("Status_{0}",index ) });
Run Code Online (Sandbox Code Playgroud)
对于那些想知道为什么这行不通的人,整件事是区分大小写的,并且在它前面需要一个@。
因此,这有效:
new { @id = "myID", @Name = "myName", @Value = "myValue", @class = "form-control", @onchange = "javascript:DoSomething(this.value);" }
Run Code Online (Sandbox Code Playgroud)
这不是(请注意中的小写字母“ n” @name)
new { @id = "myID", @name = "myName", @Value = "myValue", @class = "form-control", @onchange = "javascript:DoSomething(this.value);" }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24810 次 |
| 最近记录: |