どのように私は、コードを次のタブOrderプロパティを使用することができます任意の提案タブオーダー3つのヘルパー
<td tabindex=1>
@Html.EditorFor(model => model.Cost)
</td>
:
<td>
@Html.EditorFor(model => model.Cost)
</td>
を私はこれを試してみましたか?
どのように私は、コードを次のタブOrderプロパティを使用することができます任意の提案タブオーダー3つのヘルパー
<td tabindex=1>
@Html.EditorFor(model => model.Cost)
</td>
:
<td>
@Html.EditorFor(model => model.Cost)
</td>
を私はこれを試してみましたか?
ヘルパー自体に同じhtml属性を指定することもできます。
@Html.TextBoxFor(model => model.Cost, new { tabindex = 1 })
これは 'EditorFor'では機能しません。オブジェクトタイプのEditorForの2番目のパラメータは、ドキュメントごとに: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。
// 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 } })
別のオプションを実行します。あなたはまた、すでにエディタのテンプレートに直接ではなく、モデルにタブインデックスを追加することに渡されたのViewDataパラメータを使用することができます
@ModelType SomeApp.ViewModels.SomeNiftyViewModel
// be sure to include the TabIndex info in the ViewModel
@Html.TextBoxFor(model => model.Cost, new { tabindex = model.TabIndex })
、あなたがEditorForを保持できるように、ページがロードされた後に、タブのインデックスをjavacriptで設定することです:
var myEditorFor = document.getElementById("MyEditorForId");
if (myEditorFor != null) {
myEditorFor.setAttribute("tabindex","18")
}
最後にSOが@AbdullahSaqibを見たのは、この質問が2011年に尋ねられてから5日後です。 –