MVC3とカミソリを使用して非常に奇妙な問題に陥っています。生成されたビューでモデル値が正しくありません
私がまとめているアプリは一連のインタビューの質問を示しています。私は質問のためのビューを持っています(質問の内容はビューモデルから来ています)。だから私は1つの質問から返信した後、私は同じ質問画面を返すことが可能です(しかし、別のviewmodelインスタンスを使用しています)。
public long QuestionID { get; set; }
私はビューに値を保存するために非表示の入力フィールドを使用しようとしていた:私はそうのような長い性質を持っているのviewmodelで
@Html.HiddenFor(m => m.QuestionID)
私の問題があることです私は質問から質問に行くので、隠されたフィールドは最終的に生成されたhtmlでは変化しません。以後のすべての質問には、最初の質問IDの価値が残っています。他のすべてのコンテンツはうまく変化しており、うまく動作している他の隠しフィールドがいくつかあります。モデルが生成されたコントローラの正しい値を確認しました。私は、剃刀ファイルにブレークポイントを設定することができ、モデルが正しいQuestionIDであることがわかります。 @ Html.TextBoxForを使ってみましたが、同じ問題があります。私が手動で以下のような隠しフィールドを作成すると、それは正常に動作し、これは本当に私を悩ますものです。
<input type="hidden" id="QuestionID" name="QuestionID" value="@Model.QuestionID" />
これはどうして起こっているのですか?
は、あなたのURLルーティングはquestionIDパラメータが含まれていますか?もしそうなら、それは新しい値に設定されていますか? – DMulligan
AFinkelstein:いいえ – Adam