MVC 2では、どのようにモデルプロパティにHtml.TextBoxをバインドします
-
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」 >ここの
所属していません StackOverflow