0
コントローラである値 "いくつかの値が" 無効asp.netモデルバインディングの検証
public class EditTestViewModel
{
public String test { get; set; }
public EditTestViewModel(String test)
{
this.test = test;
}
}
ビュー:私は([保存]をクリック
<% using (Html.BeginForm("EditTest", "Test", FormMethod.Post)) {%>
<%= Html.ValidationSummary(true) %>
<%= Html.TextBoxFor(model => model.test) %>
<%= Html.ValidationMessageFor(model => model.test) %>
<input type="submit" value="Save" />
<% } %>
結果データを編集するかどうか):
値 "これはテストですか?" が無効です。
何が起こっているのですか? EditTestViewModel
は、パラメータなしのコンストラクタを持っていないためだ
[MissingMethodException: No parameterless constructor defined for this object.]
は、あなたがこのようにそれを使用することはできません:あなたはこのコードを実行する際に取得し、フォームを送信します
はい、最初の点については正しいです。第二のポイント - それは単なるテストであり、意味をなさないと考えられていました。実際のエラーの原因はコントローラのパラメータ名がバインダを混乱させていたクラス変数の名前と同じであることでした。 – BobTurbo
+1あなたは私をキープしていますか?デバッグの一日の後、ネットを検索し、プロジェクトを浄化し、ソリューションはバインダーが混乱しているだけです。バインダーは混乱していますか?それは本当です。だから私の頭脳でこれを燃やす "バインダーは混乱していますバインダーは混乱していますバインダーは混乱しています.... –
少なくともあなたの愚かなバインダーをいくつかのフレンドリーアドバイスを投げます。 –