Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有枚举的MVC3 RadioButton_C#_Asp.net_.net_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

C# 带有枚举的MVC3 RadioButton

C# 带有枚举的MVC3 RadioButton,c#,asp.net,.net,asp.net-mvc,asp.net-mvc-3,C#,Asp.net,.net,Asp.net Mvc,Asp.net Mvc 3,我的模型中的HtmlHelper、RadioButton和枚举有问题。我有一个强类型视图,我希望复选框切换我的枚举属性 Enum.cs public enum Values{ Value1, Value2 } 如果我在控制器中设置MyProperty值,则会按预期选中RadioButton。但是,在发布到下一个向导步骤(将模型作为参数)后,不会设置属性 如果它能帮助你理解我的意思:如果它是C#和WPF,我会使用IValueConverter 顺便说一句:我使用一个Htm

我的模型中的HtmlHelper、RadioButton和枚举有问题。我有一个强类型视图,我希望复选框切换我的枚举属性

Enum.cs

public enum Values{
    Value1,
    Value2
}



如果我在控制器中设置MyProperty值,则会按预期选中RadioButton。但是,在发布到下一个向导步骤(将模型作为参数)后,不会设置属性

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

顺便说一句:我使用一个HtmlHelper.ActionLink将模型传递给控制器


提前感谢

试试这个,它应该可以像我以前做的一样工作:

@Html.RadioButtonFor(model => model.MyProp, (int)Values.Values1, model.MyProp == Values.Values1)
注意转换为
int
,它确保对html使用正确的值

编辑:抱歉,我认为您还需要第三个参数来确保在加载视图时设置了正确的单选按钮


我还假设MyProp是一个输入错误,并将其更改为MyProp,请确保您这边的匹配正确

对于由此带来的不便,我深表歉意。在这里发布后,我很快找到了解决方案。我的ActionLink没有提交@Html.BeginForm。因此,我将我的单选按钮更改为:

@Html.RadioButtonFor(model => model.MyPropi, Values.Values1, new{ onClick = "this.form.submit();" })
将正确的值提交给我的控制器。目前还可以。也许ActionLink可以发回表单数据。

对于Aspx页面:
m、 YourProp,枚举的选定值,例如:demo1.enum1.value2)

恐怕不行。我的问题是:如何在我的模型中获得正确的值,这取决于切换了哪个单选按钮。目前,我正在通过ActionLink将模型路由到控制器中@ActionLink(“下一步”,“向导第二步”,模型)我明白了。因此,这是行不通的,如果希望模型绑定工作,则需要在每个步骤发布表单。因此,不要使用ActionLink,而是使用submit按钮发布表单。将模型作为post方法的参数
Controller.cs
public ActionResult WizardFirstStep()
{
    var model = new Model();
    return View(model);
}
@Html.RadioButtonFor(model => model.MyProp, (int)Values.Values1, model.MyProp == Values.Values1)
@Html.RadioButtonFor(model => model.MyPropi, Values.Values1, new{ onClick = "this.form.submit();" })