0

ビューで使用して「リスト」を表示するためにこれを行っていCheckBoxForます:

@Html.LabelFor(m => m.MyEnum, T("Pick Your Poison"))
<div>                
    @for(int i = 0; i < Model.Alcohol.Count; i++)
    {
        <label>
            @T(Model.Alcohol[i].Text)
            @Html.CheckBoxFor(m => Model.Alcohol[i].Selected)
            @Html.HiddenFor(m => Model.Alcohol[i].Value)
        </label>
    }
</div>

これはenum私が使用するものです(わかりやすくするため):

public enum MyEnum
{
    Beer = 1,
    Vodka = 2,
    Rum = 3
}

これは機能します。問題は、@T個々のアイテムを動的に翻訳するのに苦労していることです。したがって、この問題から先に進む必要があります (これは簡単に解決できず、この質問のポイントではありません)。

私がやりたいのは、各項目を個別に出力することです。そのため、独自のテキストを各チェックボックス項目に適用できます (したがって、@T("")各項目に対して a を実行します)。これは機能します。

問題は、 のビューで構文に関するすぐに利用できる情報が見つからないことですCheckBoxFor

私は私の見解でこのようなことをしたいと思っています:

@Html.LabelFor(m => m.MyEnum, T("Pick Your Poison"))
<div>
    <label>
    @T("Beer") <!--This will work-->
    @Html.CheckBoxFor(m => Model.Alcohol.Beer) <!--Is this even right?-->
    @Html.HiddenFor(m => Model.Alcohol.Beer) <!--Is this even right?-->
    </label>
    <label>
    @T("Vodka")
    @Html.CheckBoxFor(m => Model.Alcohol.Vodka)
    @Html.HiddenFor(m => Model.Alcohol.Vodka)
    </label>
    <label>
    @T("Rum")
    @Html.CheckBoxFor(m => Model.Alcohol.Rum)
    @Html.HiddenFor(m => Model.Alcohol.Rum)
    </label>
    }
</div>

これは可能ですか?アイテムを個別にリストするための適切な構文は何ですかCheckBoxFor(私が見るすべてのサンプルは@forループを使用しているだけです)。@T文字列を変換する方法である最初の方法から先に進みたいと思います。

ありがとう。

4

2 に答える 2

0

私のために働いたのは次のことでした:

@Html.LabelFor(m => m.MyEnum, T("Pick Your Poison"))
<div>                
    @for(int i = 0; i < Model.Alcohol.Count; i++)
    {
     <label>
        @T("Beer")
        @Html.CheckBoxFor(m => Model.Days[0].Selected)
        @Html.HiddenFor(m => Model.Days[0].Value)
    </label>
    <label>
        @T("Vodka")
        @Html.CheckBoxFor(m => Model.Days[1].Selected)
        @Html.HiddenFor(m => Model.Days[1].Value)
    </label>
    <label>
        @T("Rum")
        @Html.CheckBoxFor(m => Model.Days[2].Selected)
        @Html.HiddenFor(m => Model.Days[2].Value)
    </label>
    }
</div>
于 2013-08-26T20:43:02.820 に答える