TextBoxFor tabindex完全不渲染,需调整TAB导航顺序并添加tabindex
解决ASP.NET MVC中HtmlHelper控件的tabindex设置问题
嘿,我完全懂你调整TAB导航顺序时被tabindex搞晕的感觉!ASP.NET MVC的HtmlHelper方法在属性传递上确实容易踩坑,我来帮你把代码改对:
正确的写法示例
@Html.LabelFor(m => m.project_name, new { tabindex = "7" }) @Html.TextBoxFor(m => m.project_name, new { @data_bind = "value: woheader_projectName", tabindex = "8" }) @Html.ValidationMessageFor(m => m.project_name)
为什么你的写法不对?
你之前尝试的new { htmlAttributes = new { tabindex = "8" } }是错误的——这种嵌套htmlAttributes的写法是给EditorFor这类方法用的,但TextBoxFor的第二个参数本身就直接接受HTML属性的匿名对象,不需要多套一层。
额外的小建议
- 如果你希望标签也能通过TAB键聚焦(并自动关联到输入框),就给
LabelFor也加上tabindex,用户聚焦标签后按回车就能激活对应的输入框,这对无障碍访问很友好。 - 尽量让
tabindex的数值连续、合理,避免跳号太大,保持TAB导航的自然流畅性;同时不要给纯展示类元素加tabindex,不然会打断正常的导航流。
内容的提问来源于stack exchange,提问作者sarsnake
相关产品推荐
相关产品推荐

