1

ラジオボタンとチェックについて質問があります。

したがって、最初に、ビューの部分にログイン値を含むテキストボックスがあります。このテキスト ボックスと送信ボタンの間に、5 つのラジオ ボタンがあります。これらの各 rb は、ViewModel のプロパティを参照していました。

これがコードです。プロパティを持つ私のViewModel:

public class DeleteUAInfosViewModel
{

    [Display(Name = "UserAccountDeleteInfos", ResourceType = typeof(UserAccountResources))]
    public string UserLeave
    {
        get { return UserAccountResources.UserLeave; }
    }

    [Display(Name = "UserAccountDeleteInfos", ResourceType = typeof(UserAccountResources))]
    public string UserTransfer
    {
        get { return UserAccountResources.UserTransfer; }
    }

    [Display(Name = "UserAccountDeleteInfos", ResourceType = typeof(UserAccountResources))]
    public string UserDetachment
    {
        get { return UserAccountResources.UserDetachment; }
    }

    [Display(Name = "UserAccountDeleteInfos", ResourceType = typeof(UserAccountResources))]
    public string UserRetirement
    {
        get { return UserAccountResources.UserRetirement; }
    }

    [Display(Name = "UserAccountDeleteInfos", ResourceType = typeof(UserAccountResources))]
    public string UserStatus
    {
        get { return UserAccountResources.UserStatus; }
    }
}

DeleteUAInfosViewModel をリンクする私の IndexViewModel:

public class IndexViewModel
{
        [Display(Name = "DeleteUAInfos", ResourceType = typeof(UserAccountResources))]
        public DeleteUAInfosViewModel DeleteUAInfosGroup { get; set; }

        public IndexViewModel()
        {
            DeleteUAInfosGroup = new DeleteUAInfosViewModel();
        }

        ...
}

rb の宣言を含む私の部分的なビュー:

@model MyPath.UserAccount.DeleteUAInfosViewModel

<div id="UserDeleteInfosField">
    <p>
        @Html.RadioButton("RbDeleteGroup", Model.UserLeave)
        @UserAccountResources.UserLeave
        @Html.HiddenFor(x => x.UserLeave)   
    </p>
    <br />
    <p>
        @Html.RadioButton("RbDeleteGroup", Model.UserTransfer)
        @UserAccountResources.UserTransfer
        @Html.HiddenFor(x => x.UserTransfer)   
    </p>
    <br />
    <p>
        @Html.RadioButton("RbDeleteGroup", Model.UserDetachment)
        @UserAccountResources.UserDetachment
        @Html.HiddenFor(x => x.UserDetachment)   
    </p>
    <br />
    <p>
        @Html.RadioButton("RbDeleteGroup", Model.UserRetirement)
        @UserAccountResources.UserRetirement
        @Html.HiddenFor(x => x.UserRetirement)   
    </p>
    <br />
    <p>
        @Html.RadioButton("RbDeleteGroup", Model.UserStatus)
        @UserAccountResources.UserStatus
        @Html.HiddenFor(x => x.UserStatus)   
    </p>
</div>

この部分ビューを別のビューで次の行で呼び出します。

@Html.Partial("_DeleteUAInfos", Model.DeleteUAInfosGroup)

現在、ログインがnullまたは空であるかどうかを確認しました。

しかし今、ラジオボタンのチェックを含める必要があります。例: ログインが正しく、少なくとも 1 つの rb がチェックされている (そして値が取得されている) かどうかを確認したい。

言い換えれば、ラジオボタンのチェックをログイン値のチェックと統合したいのです(私の場合、ログイン部分はすでに完了しています)。

それで、それを手伝ってもらえますか?

前もって感謝します !

Ars_n

4

2 に答える 2

2

基本的に 1 つの非常に長いブール式を作成するだけなので、ログインを検証する関数に追加します。

if(!radio1&&!radio2...&&!radion)
{
    ModelState.AddModelError("HTMLModelComponentYouWantToValidate", "ErrorMessage");
}

そして、追加を続ける前に

if(ModelState.IsValid){...}
else{ return View();}
于 2012-10-29T14:50:48.150 に答える
0

最後に、列挙型を使用して方法を完全に変更しました。したがって、次の手順に従いました。

1) ViewModel での public enum の宣言 (「UserLeave」、「UserTransfer」などを含む)。

2) プロパティを使用して列挙型 (ViewModel 内) を参照します。public MyEnum myEnum{ get; set; }

3) ビューでこの列挙型を呼び出し@Html.RadioButtonFor(m => m.myEnum, MyEnum.UserLeave); ます。ラジオ ボタンごとにこのアクションを繰り返します。

4) これで、ViewModel で直接チェック (ラジオ ボタンがチェックされているかどうか) を実行できます。

だから、同じ問題を抱えている誰かを助けることを願っています..

よろしく、

Ars_n

于 2012-10-30T11:37:33.620 に答える