代码之家  ›  专栏  ›  技术社区  ›  Bret Walker

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

  •  0
  • Bret Walker  · 技术社区  · 17 年前

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

    我当前的解决方案使用响应。写入以输出复选框,但我宁愿找到更优雅的东西。

    有人有好的解决办法吗?

    此代码不起作用:

    <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>
    

    这样做:

    <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>
    

    编辑: 不起作用的代码产生了 表索引=“” .

    2 回复  |  直到 17 年前
        1
  •  5
  •   xandy    17 年前

    我只是干编译(在我的脑子里),你的代码没有什么错。请在这里也张贴编译器错误。

    唯一的错误是:

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

    这个 tabindex=“<%*=*i.ToString();%>” 缺少等号。

        2
  •  0
  •   Garry Shutler    17 年前

    只使用一个 for 循环。