フレームワークで生成されたIDをオーバーライドするのにこれを使用しました@Html.EditorFor(model => model.cost, new { id = "checkCost" })
しかし、残念ながらidは変更されません。すなわち
コントローラの動作時にstring d = Request.Form["checkCost"];
を使用すると、ヌル値で埋められた文字列です。
WHY ??私はまた、TextBoxForでEditorForを置き換えるが、何もコントローラが更新
asp.netのMVC3のエディタフォースのヘルパーの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>
IDとしてコストを要するも、その後変更されていない:
- これは私の部分図であり、私のメインビューが(レンダリング(ajax.actionLinkから部分的に)EditorFor(model => mode.cost)も保持します
- 部分ビューは、Check_masterテーブルとメインビデオに強く型付けされていますwはpackage_masterに強く入力されます。エンティティセットは両方とも同じ名前のプロパティ、つまり "COST"を保持します。次に、部分ビューとメインビューの両方を保持しますEditorFor "cost"
check_masterプロパティの名前を のように変更しようとしました
- [Column( "check_cost" )]
public Nullable cost {get;セット; }
しかし、別離があります。このプロパティCheckCostとPackageCostで2つのビューモデルを作成し
model.something
:わずかな(しかし重要な)
注違いをIDを変更するには?デフォルトのIDを使用すると、デフォルトのモデル・バインディングが有効になりました。つまり、Request.Form ["cost"]はプロパティコスト – heads5150
にバインドします。b'cozこれは私の部分的なビューで、私のメインビュー(ajax.actionLinkから部分的にレンダリング)にはEditorFor(model => mode.cost)も保持されます – RollerCosta
同じビューの同じプロパティの2つのテキストボックスがありますか?基本的に同じプロパティを編集する場所は2つあります。テキストボックスが部分ビューにある場合は、メインビューから取り出します。 – heads5150