我在使用模型中的 HtmlHelper、RadioButtonFor 和枚举时遇到问题。我有一个强类型 View ,我希望复选框能够切换我的枚举属性。
Enum.cs
public enum Values{
Value1,
Value2
}
Model.cs
public class Model{
public Values MyProp{ get; set; }
;
View.cshtml
@Html.RadioButtonFor(model => model.MyPropi, Values.Values1)
Controller.cs
public ActionResult WizardFirstStep()
{
var model = new Model();
return View(model);
}
如果我在 Controller 中设置 MyProperty 值,则会按预期检查 RadioButton。但是在将模型作为参数发布到下一个向导步骤之后,未设置该属性。
如果它能帮助您理解我的意思:如果是 C# 和 WPF,我会使用 IValueConverter。
顺便说一句:我使用 HtmlHelper.ActionLink 将模型获取到 Controller 。
提前致谢
最佳答案
试试这个,它应该像我以前做过同样的事情一样工作:
@Html.RadioButtonFor(model => model.MyProp, (int)Values.Values1, model.MyProp == Values.Values1)
注意转换为 int
,它确保正确的值用于 html。
编辑:抱歉,我认为您还需要第三个参数来确保在加载 View 时设置正确的单选按钮。
我还假设 MyPropi
是一个拼写错误并将其更改为 MyProp
,请确保它在您的端正确匹配
关于c# - 带枚举的 MVC3 RadioButtonFor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13863790/