AJ.*_*AJ. 50 asp.net-mvc radiobuttonfor razor asp.net-mvc-4
我试图为互斥的单选按钮找到正确的Razor语法,这两个按钮都反映了模型上布尔属性的值.我的模型有这个:
public bool IsFemale{ get; set; }
Run Code Online (Sandbox Code Playgroud)
我想用两个单选按钮显示它,一个是"男性",另一个是"女性",但到目前为止我尝试过的所有东西都没有反映出IsFemale该模型属性的实际价值.目前,我有这个:
@Html.RadioButtonFor(model => model.IsFemale, !Model.IsFemale) Male
@Html.RadioButtonFor(model => model.IsFemale, Model.IsFemale) Female
Run Code Online (Sandbox Code Playgroud)
如果我更改和更新,这似乎正确地保持了值,但没有将正确的值标记为已选中.我确定这是愚蠢的,但我被卡住了.
Dar*_*rov 100
试试这样:
@Html.RadioButtonFor(model => model.IsFemale, "false") Male
@Html.RadioButtonFor(model => model.IsFemale, "true") Female
Run Code Online (Sandbox Code Playgroud)
这是完整的代码:
模型:
public class MyViewModel
{
public bool IsFemale { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new MyViewModel
{
IsFemale = true
});
}
[HttpPost]
public ActionResult Index(MyViewModel model)
{
return Content("IsFemale: " + model.IsFemale);
}
}
Run Code Online (Sandbox Code Playgroud)
视图:
@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>
}
Run Code Online (Sandbox Code Playgroud)
在MVC 6(ASP.NET Core)中,这也可以通过标签助手来实现:
<label>
<input type="radio" asp-for="IsFemale" value="false" /> Male
</label>
<label>
<input type="radio" asp-for="IsFemale" value="true" /> Female
</label>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79080 次 |
| 最近记录: |