c# - 带枚举的 MVC3 RadioButtonFor

标签 c# asp.net .net asp.net-mvc asp.net-mvc-3

我在使用模型中的 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/

相关文章:

asp.net - 在 .net 3.5 SP1 中设置表单的操作会导致编译时出错

c# - ASP.NET MVC4 Web API 接口(interface)作为数据契约

javascript - V8Engine.Execute 返回 'undefined' ,而 Microsoft.JScript 的 eval 返回一个值

c# - 我如何找到启动我的进程的计划任务的实例 ID/相关 ID

c# - 如何从文本文件中固定这个解析循环

c# - 如何确定 IResourceFilter 中的 Controller 名称和 Action 名称?

c# - ASP.NET MVC2 和 MEF - 为什么我的 MefControllerFactory 无法获取导出或元数据?

sql - 简单的 SELECT/WHERE 查询速度慢。我应该索引一个 BIT 字段吗?

c# - 如何在 C# 中从头开始创建 DBF 文件?

C# - 获取平方根和最接近的素数