如何,我可以使用Tab鍵順序屬性下面的代碼:Tab順序
<td>
@Html.EditorFor(model => model.Cost)
</td>
我嘗試這樣做:
<td tabindex=1>
@Html.EditorFor(model => model.Cost)
</td>
有什麼建議?
如何,我可以使用Tab鍵順序屬性下面的代碼:Tab順序
<td>
@Html.EditorFor(model => model.Cost)
</td>
我嘗試這樣做:
<td tabindex=1>
@Html.EditorFor(model => model.Cost)
</td>
有什麼建議?
您也可以在助手本身中指定相同的html屬性,如下所示。
@Html.TextBoxFor(model => model.Cost, new { tabindex = 1 })
這在'EditorFor'中不起作用,EditorFor類型對象中的第二個參數用於構建View Data而不是添加HTML屬性根據文檔:http://msdn.microsoft.com/en-us/library/ff406462.aspx –
您不能在EditorFor中指定其他參數。 –
令人印象深刻的是upvotes唯一的答案是不正確的。 –
不幸的是@ Html.EditorFor方法不能提供添加HTML屬性的能力。您可以通過更具體的方法調用來添加這些。在上述情況下我會使用 -
@Html.TextBoxFor(model => model.Cost, new { tabindex = 1 })
他不必離開EditorFor。他可以輕鬆創建一個編輯器模板。 –
作爲對比@ Stuy1974的正確的答案,如果你不想離開EditorFor
解決方案,你將不得不線了自己的Editor Template。
@ModelType SomeApp.ViewModels.SomeNiftyViewModel
// be sure to include the TabIndex info in the ViewModel
@Html.TextBoxFor(model => model.Cost, new { tabindex = model.TabIndex })
您也可以使用已經傳遞給編輯模板ViewData的參數,而不是直接添加標籤索引模型:
// In the main view
@Html.EditorFor(model => model.Cost, new { TabIndex = 3 })
// In the editor template
@{ int tabIndex = (ViewData["TabIndex"] as int?) ?? 0; }
@Html.TextBoxFor(model => model, new { tabindex = tabIndex })
感謝您的想法,完美工作。 –
只要做到這一點
@Html.EditorFor(model => model.Cost, new { htmlAttributes = new { tabindex = 34 } })
另一種選擇,允許你保留EditorFor,就是在頁面加載類似這樣的東西后在javascript中設置標籤索引:
var myEditorFor = document.getElementById("MyEditorForId");
if (myEditorFor != null) {
myEditorFor.setAttribute("tabindex","18")
}
上次見到@AbdullahSaqib是在2011年問這個問題後的5天 –