MVC 2では、どのようにモデルプロパティにHtml.TextBoxをバインドします

StackOverflow https://stackoverflow.com/questions/1882170

  •  18-09-2019
  •  | 
  •  

質問

私のモデルは、「出力」の性質を持っており、私のフォームは、「出力」という名前のTextBox、両方とも正確に綴ら同じを持っています。私は、フォームに必要事項を記入し、それを投稿すると、返すビューは、予期しない結果があります。

私はバックビューにモデルを渡す前に、

具体的には、私は、コントローラのメソッドの中で私のモデルにバインドされている投稿「出力」フォーム変数を受け取り、その後、私は別の値に、この変数を変更します。

掲載出力特性は「一つのこと」です 私のモデルプロパティには、「別の」

に設定されています

私は私のコードでこれを持っている:<%= Html.TextBox("output") %>

どの本にレンダリング:<input id="output" name="output" type="text" value="one thing" />

デバッグ時に

しかし、モデルはの正しい値( "別")を含んでいない。

その転記値ではなく、コントローラに割り当てられた値を使用して。任意のアイデアなぜ、どのようにそれを修正するには?

役に立ちましたか?

解決

あなたがそうのような強く型付けされたビューを使用していると仮定すると、

<%@ Page ... Inherits="System.Web.Mvc.ViewPage<...TestModel>" %>

と交換EditorForを持つあなたの

これ<%= Html.TextBox("output") %>よう<%= Html.EditorFor(p=>p.output) %>

あなたのコントローラで行うことができます。

ModelState.SetModelValue("output", new ValueProviderResult("Some string", string.Empty, new CultureInfo("en-US")));

同様の質問が尋ねてきた<のhref =「https://stackoverflow.com/questions/700274/mvc-how-to-change-the-value-of-a-textbox-in-a-post」 >ここの

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top