64

在部分视图 中,我使用这样的文本框。

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

我如何生成单选按钮,并在表单集合中获得所需的值作为 YES/NO True/False)?目前,如果我为以下选择任何值,则“ABC”为空。

   <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 提供了一个优雅的 Html Helper,称为RadioButton,带有两个参数(这是通用的,但我们可以重载它直到五个参数),即一个带有组名,另一个是值

<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 表单)的方法,尽管我认为 @Html.RadioButtonFor 可能是更好和更新的方法(一方面,它是强类型的,所以与模型属性密切相关)。不过,这是一种老式的、不同的方法:

    <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 回答