带有枚举的MVC3 RadioButtonFor

cst*_*ler 6 .net c# asp.net asp.net-mvc asp.net-mvc-3

我遇到了HtmlHelper,RadioButtonFor和我模型中的枚举问题.我有一个强类型视图,我希望复选框切换我的枚举属性.

Enum.cs

public enum Values{
    Value1,
    Value2
}
Run Code Online (Sandbox Code Playgroud)
Model.cs

public class Model{
    public Values MyProp{ get; set; }
;
Run Code Online (Sandbox Code Playgroud)
View.cshtml

@Html.RadioButtonFor(model => model.MyPropi, Values.Values1)
Run Code Online (Sandbox Code Playgroud)
Controller.cs
public ActionResult WizardFirstStep()
{
    var model = new Model();
    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

如果我在控制器中设置MyProperty值,则按预期检查RadioButton.但是在发送到下一个向导步骤后,将模型作为参数,该属性未设置.

如果它能帮助你理解我的意思:如果它是C#和WPF我将使用IValueConverter.

顺便说一句:我使用HtmlHelper.ActionLink将模型送到控制器.

提前致谢

cst*_*ler 2

任何不便敬请谅解。在这里发帖后,我很快找到了解决方案。我的 ActionLink 未提交 @Html.BeginForm 表单。所以我将单选按钮更改为:

@Html.RadioButtonFor(model => model.MyPropi, Values.Values1, new{ onClick = "this.form.submit();" })
Run Code Online (Sandbox Code Playgroud)

它将正确的值提交给我的控制器。目前来说这还可以。也许 ActionLink 可以回发表单数据。