これを使用して、フレームワークで生成されたIDをオーバーライドしましたが
@Html.EditorFor(model => model.cost, new { id = "checkCost" })
、残念ながらidは変更されていません。つまり、コントローラーアクションで
使用する場合
string d = Request.Form["checkCost"];
、文字列はnull値で埋められます。
どうして??また、EditorForをTextBoxForに置き換えましたが、何も変更されていないため、コントローラーもIDとしてコストがかかります
<td >
@Html.DropDownList("check_master", "--select package--")
</td>
<td >
@Html.EditorFor(model => model.check_name)
@Html.ValidationMessageFor(model => model.check_name)
</td>
<td >
@Html.EditorFor(model => model.cost, new { id ="checkCost" })
@Html.ValidationMessageFor(model => model.cost)
</td>
更新しました:
- これは私の部分的なビューであり、私のメインビュー(ajax.actionLinkから部分的にレンダリング)もEditorFor(model => mode.cost)を保持しています
- 部分ビューはCheck_masterテーブルに強く型付けされ、メインビューはpackage_masterに強く型付けされます。ここで、entitySetは両方とも同じ名前プロパティを保持します。つまり「COST」次に、部分ビューとメインビューの両方がEditorFor「コスト」
を保持します。 - [Column( "check_cost")]
public Nullable cost {get; セットする; }
しかし、なぜこれが機能しないのかわからない、つまり、プロパティnaemが次のように参照しているときに変更されない
model.something