64

部分的に見る と、私はこのようなテキストボックスを使用しています。

@model Dictionary<string, string>
@Html.TextBox("XYZ", @Model["XYZ"])

ラジオボタンを生成し、フォームコレクションでYES / NO True / Falseとして目的の値を取得するにはどうすればよいですか?現在、以下の値を選択すると、「ABC」がnullになります。

   <label>@Html.RadioButton("ABC", @Model["ABC"])Yes</label>
   <label>@Html.RadioButton("ABC", @Model["ABC"])No</label>

コントローラ

        public int Create(int Id, Dictionary<string, string> formValues)
        {
         //Something Something
        }
4

10 に答える 10

70

複数のアイテムに対してこれを行うには、次のようにします。

foreach (var item in Model)
{
    @Html.RadioButtonFor(m => m.item, "Yes") @:Yes
    @Html.RadioButtonFor(m => m.item, "No") @:No
}
于 2012-05-29T19:51:38.370 に答える
25

単に:

   <label>@Html.RadioButton("ABC", True)Yes</label>
   <label>@Html.RadioButton("ABC", False)No</label>

ただし、cachoが提案するように、常に強く型付けされたモデルを使用する必要があります。

于 2012-05-29T20:30:49.540 に答える
15

私はこのSOの答えで同じ問題を解決します。

基本的に、ラジオボタンを強く型付けされたモデルのブールプロパティにバインドします。

@Html.RadioButton("blah", !Model.blah) Yes 
@Html.RadioButton("blah", Model.blah) No 

それが役に立てば幸い!

于 2012-05-29T19:51:25.557 に答える
15

私はこれを次のように行いました:

  @Html.RadioButtonFor(model => model.Gender, "M", false)@Html.Label("Male")
  @Html.RadioButtonFor(model => model.Gender, "F", false)@Html.Label("Female")
于 2015-10-21T09:47:39.670 に答える
8
<label>@Html.RadioButton("ABC", "YES")Yes</label>
<label>@Html.RadioButton("ABC", "NO")No</label>
于 2012-05-29T20:17:13.447 に答える
7

MVC5レイザービュー

以下の例では、ラベルをラジオボタンに関連付けます(ラジオボタンは、関連するラベルをクリックすると選択されます)

// replace "Yes", "No" --> with, true, false if needed
@Html.RadioButtonFor(m => m.Compatible, "Yes", new { id = "compatible" })
@Html.Label("compatible", "Compatible")

@Html.RadioButtonFor(m => m.Compatible, "No", new { id = "notcompatible" })
@Html.Label("notcompatible", "Not Compatible")
于 2018-03-13T18:08:17.723 に答える
4

MVC Razorは、 RadioButtonと呼ばれる1つのエレガントなHtmlヘルパーに2つのパラメーターを提供します(これは一般的ですが、5つのパラメーターまでオーバーロードできます)。

<div class="col-md-10">
    Male:   @Html.RadioButton("Gender", "Male")
    Female: @Html.RadioButton("Gender", "Female")
</div>                         
于 2017-08-25T17:12:59.843 に答える
3
<p>@Html.RadioButtonFor(x => x.type, "Item1")Item1</p>
<p>@Html.RadioButtonFor(x => x.type, "Item2")Item2</p>
<p>@Html.RadioButtonFor(x => x.type, "Item3")Item3</p>
于 2017-04-28T03:06:08.870 に答える
1

これは私のために働きます。

@{ var dic = new Dictionary<string, string>() { { "checked", "" } }; }
@Html.RadioButtonFor(_ => _.BoolProperty, true, (@Model.BoolProperty)? dic: null) Yes
@Html.RadioButtonFor(_ => _.BoolProperty, false, (!@Model.HomeAddress.PreferredMail)? dic: null) No
于 2014-03-05T01:04:24.807 に答える
0

@ Html.RadioButtonForヘルパーを使用せずにラジオボタン(およびHTMLフォーム全体)を実行する1つの方法を共有したかったのですが、@ Html.RadioButtonForの方がおそらくより優れた新しい方法だと思います(たとえば、強く型付けされているためです。 ModelPropertyに密接にリンクされています)。それにもかかわらず、これはあなたがそれを行うことができる昔ながらの、異なる方法です:

    <form asp-action="myActionMethod" method="post">
        <h3>Do you like pizza?</h3>
        <div class="checkbox">
            <label>
                <input asp-for="likesPizza"/> Yes
            </label>
        </div>
    </form>

このコードはmyView.cshtmlファイルに入れることができ、クラスを使用してラジオボタン(チェックボックス)のフォーマットを取得します。

于 2018-09-20T19:15:58.263 に答える