2016-05-23 10 views
0

私のMVC WebアプリケーションでRazorを使用しています。チェックボックスの非表示フィールド値を変更する方法

私はこれがあります。このチェックボックスの初期値はTRUEで、ここで私にとって、とても

@Html.CheckBox(Model.SectionModel[i].PreferenceModel[j].Name,Boolean.Parse(Model.SectionModel[i].PreferenceModel[j].Value)) 

を。

私のユーザがfalseに設定した場合、私のポストバックでこの値がFALSEであることを示すために非表示フィールドを変更/作成したいと思います。

@ HTML.CheckBoxForは値がXMLファイルから来ており、この値がブール値ではない別のコントロール用である可能性があるため使用できません。値iテキストボックスが描画される文字列ではなく、チェックボックスなど

@Html.EditorFor(x => x.SectionModel[i].PreferenceModel[j].Value, Model.SectionModel[i].PreferenceModel[j].Name) 

が、値:私はこの中に入れた提案解答ルートに続き

。私の問題

にopoositeこれは働くべき

+0

[ASP.NET MVC 4でチェックボックスの値を取得する]の可能な複製(http://stackoverflow.com/questions/14730746/getting-checkbox-value-in-asp-net-mvc-4) – demo

+0

@デモはそれを見て確認します。ありがとうございます –

+0

受け入れられた答えはあなたが必要とするようです – demo

答えて

1
$("#chkType").change(function (s, e) { 
      if ($(this).is(":checked")) $("#hiddenField1").val('1'); 
      else $("#hiddenField1").val('0'); 
     }); 

NULLである場合、私はちょうど私のプロジェクトの1からそれをコピーしました。お役に立てれば。 :)

+0

ありがとうございます。 –

+0

は行く方法があるようです。ありがとう –

+0

これはまったく意味がありません。 'CheckBox()'と 'CheckBoxFor()'メソッドは 'int'や' string'ではなくboolにバインドするためのもので、ビューを返す必要がある場合はモデルバインディングを完全に駄目にします –

関連する問題