1

したがって、色が選択されているかどうかを確認できるこのクラスがあります。

public class Colors
{
    public bool mIsSelected { get; set; }
    public string mName { get; set; }
}

リストをビューに送信する前に、次の値を入力します。

public List<Colors> mListColors = new List<Colors>();

mListColors.Add(new Colors{ mIsSelected = false, mName = "black"});
mListColors.Add(new Colors { mIsSelected = false, mName = "blue" });
mListColors.Add(new Colors { mIsSelected = false, mName = "white" });
mListColors.Add(new Colors { mIsSelected = false, mName = "red" });
mListColors.Add(new Colors { mIsSelected = false, mName = "green" });

そして、私の見解では、それらを次のようにレンダリングします。

@for (int i = 0; i < Model.mListColors.Count; i++)
{
    var item = Model.mListColors[i];

switch (item.mName)
{
    case "black":
        @Html.Image("~\\Images\\Functional\\blackColor.jpeg", item.mName.ToUpper(), null)
        @Html.CheckBoxFor(_item => Model.mListColors[i].mIsSelected, item.mIsSelected)
        @Html.HiddenFor(_item => _item.mListColors[i].mName)
        break;
    case "blue":
        @Html.Image("~\\Images\\Functional\\blueColor.jpeg", item.mName.ToUpper(), null)
        @Html.CheckBoxFor(_item => Model.mListColors[i].mIsSelected, item.mIsSelected)
        @Html.HiddenFor(_item => _item.mListColors[i].mName)
        break;
    case "red":
        @Html.Image("~\\Images\\Functional\\redColor.jpeg", item.mName.ToUpper(), null)
        @Html.CheckBoxFor(_item => Model.mListColors[i].mIsSelected, item.mIsSelected)
        @Html.HiddenFor(_item => _item.mListColors[i].mName)
        break;
    case "green":
        @Html.Image("~\\Images\\Functional\\greenColor.jpeg", item.mName.ToUpper(), null)
        @Html.CheckBoxFor(_item => Model.mListColors[i].mIsSelected, item.mIsSelected)
        @Html.HiddenFor(_item => _item.mListColors[i].mName)
        break;
    case "white":
        @Html.Image("~\\Images\\Functional\\whiteColor.jpeg", item.mName.ToUpper(), null)
        @Html.CheckBoxFor(_item => Model.mListColors[i].mIsSelected, item.mIsSelected)
        @Html.HiddenFor(_item => _item.mListColors[i].mName)
        break;
}

}

チェックボックスがあり、チェックボックスがチェックされているかどうかに応じて値をtrueまたはfalseに設定できるようにします。HtmlImage は、画像を表示できるカスタム ヘルパーです。

しかし、ボックスがチェックされているかどうかに関係なく、コントローラーの値は常に false です。それを修正するにはどうすればよいでしょうか?

4

3 に答える 3

0

私が再び間違っている場合は、反対票を投じてくださいValue

@Html.CheckBoxFor(_item => color.Value, Model.mListColors["Blue"].Value)

于 2013-06-25T16:00:16.607 に答える