如何在ASP.NET MVC视图中的foreach循环中设置tabindex?

Bre*_*ker 0 html forms asp.net-mvc

如何在ASP.NET MVC的foreach循环中设置一组复选框的tabindex值?

我当前的解决方案使用Response.Write输出复选框,但我宁愿找到更优雅的东西.

有没有人有一个好的解决方案?

此代码不起作用:

<label for="country">
    Country:
</label>
<%= Html.DropDownList("country", Model.Countries.OrderBy(x => x.Text), "Choose country...", new { tabindex = 8 })%><br />

<fieldset id="sales-processing-methodologies">
    <legend>Sales Processing Methodology:</legend>
    <% int i = 9;
    foreach (var method in Model.ProcessingMethodologies)
    {
    %>
        <input type="checkbox" id="<%=method.Key%>" name="processing-methodologies" class="checkbox" value="<%=method.Key%>" tabindex="<%i.ToString();%>"> </input>
        <label for="<%=method.Key%>">
            <%=method.Value%>
        </label>
    <% i++;
    } %>
 </fieldset>
Run Code Online (Sandbox Code Playgroud)

这样做:

<label for="country">
    Country:
</label>
<%= Html.DropDownList("country", Model.Countries.OrderBy(x => x.Text), "Choose country...", new { tabindex = 8 })%><br />

<fieldset id="sales-processing-methodologies">
    <legend>Sales Processing Methodology:</legend>
    <% int i = 9;
    foreach (var method in Model.ProcessingMethodologies)
    {
        Response.Write(@"<input type=""checkbox"" id=""" + method.Key + @""" name=""processing-methodologies"" class=""checkbox"" value=""" + method.Key + @""" tabindex=""" + i.ToString() + @"""> </input><label for=""" + method.Key + @""">" + method.Value + @"</label>");
        i++;
    } %>
</fieldset>
Run Code Online (Sandbox Code Playgroud)

编辑:没有工作的代码产生tabindex ="".

xan*_*ndy 5

我只是做一个干编译(在我的脑子里),你的代码没有什么不妥.请在此处发布编译器错误.

唯一错误的是:

<input type="checkbox" id="<%=method.Key%>" name="processing-methodologies" class="checkbox" value="<%=method.Key%>" tabindex="<%i.ToString();%>"> </input>
Run Code Online (Sandbox Code Playgroud)

所述的tabindex = "<%*=*i.ToString();%>"缺少等号.