MVC4: Two radio buttons for a single boolean model property

前端 未结 2 973
清歌不尽
清歌不尽 2020-12-13 03:33

I\'m attempting to find the correct Razor syntax for mutually exclusive radio buttons that both reflect the value of a boolean property on my model. My model has this:

相关标签:
2条回答
  • 2020-12-13 04:06

    In MVC 6 (ASP.NET Core) this can also be achieved with tag helpers:

    <label>
        <input type="radio" asp-for="IsFemale" value="false" /> Male
    </label>
    <label>
        <input type="radio" asp-for="IsFemale" value="true" /> Female
    </label>
    
    0 讨论(0)
  • 2020-12-13 04:21

    Try like this:

    @Html.RadioButtonFor(model => model.IsFemale, "false") Male
    @Html.RadioButtonFor(model => model.IsFemale, "true") Female
    

    And here's the full code:

    Model:

    public class MyViewModel
    {
        public bool IsFemale { get; set; }
    }
    

    Controller:

    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View(new MyViewModel
            {
                IsFemale = true
            });
        }
    
        [HttpPost]
        public ActionResult Index(MyViewModel model)
        {
            return Content("IsFemale: " + model.IsFemale);
        }
    }
    

    View:

    @model MyViewModel
    
    @using (Html.BeginForm())
    {
        @Html.RadioButtonFor(model => model.IsFemale, "false", new { id = "male" }) 
        @Html.Label("male", "Male")
    
        @Html.RadioButtonFor(model => model.IsFemale, "true", new { id = "female" })
        @Html.Label("female", "Female")
        <button type="submit">OK</button>
    }
    
    0 讨论(0)
提交回复
热议问题