非常に奇妙なケースがあります。チェックボックスからコントローラに値を投稿します。MVC 3でチェックボックスをチェックした場合、値が正しくありません
私のViewModelのパート:私の見解の
public class BeslutIStortViewDTO
{
public BeslutIStortDTO BeslutIStort { get; set; }
public BeslutIStortListorDTO SelectListor { get; set; }
}
public class BeslutIStortDTO
{
public int id { get; set; }
public bool Ok { get; set; }
... other stuff
}
一部:コントローラに渡された文字列で
<div id="colOk" class="kolumn_header">
@Html.LabelFor(model => model.BeslutIStort.Ok)
@Html.CheckBoxFor(model => model.BeslutIStort.Ok, new { @class = "rensa", tabindex = 5 })
</div>
、未確認の中のボックスは、すべてがOKと思われる:
BeslutIStort.Ok=false
BUT!私はそれをチェックする場合:
BeslutIStort.Ok=&BeslutIStort.Ok=false
その二回の文字列で、最初の値がない、oterhはfalse
あるので、両方が間違っています。私はもちろん、1つだけを期待し、その1つはtrue
であると考えます。
<input class="rensa" id="BeslutIStort_Ok" name="BeslutIStort.Ok" tabindex="5" type="checkbox" value="true" /><input name="BeslutIStort.Ok" type="hidden" value="false" />
それは隠しフィールドがあります。
もう一つの興味深い発見はacutalレンダリングされたHTMLには、チェックボックスが次のようになりますということです!私は誰かがこのにいくつかの光を当てるために私を助けることができる願ってい
data: $("#BisData").serialize(),
、および:
私は、サーバーに値を投稿するとき、私はAJAXでそれを行うと、データパラメータは、次のように定義されています私はそれが出てturedたよう=== を解決し
=== :-)私のコントローラにいくつかの "真の" ヘルプ、私はこのようなjavascriptを持っていた:。
$( "rensaを")のvalを( "");
チェックボックスは機能しませんでした。私はこれを加えました:
$( "。rensaCheckbox")。attr( "checked"、false);
チェックボックスのため、今すぐ動作します。
#BisDataはフォームタグIDですか? – Thulasiram
はいそれは______ – kaze
k ..警告を追加します($( "#BisData")。serialize());この出力をここに入れてください... – Thulasiram