Asp.net mvc 4 Can';t在MVC表格中插入单选按钮值

Asp.net mvc 4 Can';t在MVC表格中插入单选按钮值,asp.net-mvc-4,Asp.net Mvc 4,我有一个简单的反馈表,用户只能选择一个 好的最好的好的 这些是固定的文本和值,所以我正在硬编码。我尝试了这些方法来获取它们的值,但没有一种尝试是有效的 如何在表中保存选定的单选按钮值,以及如何在编辑时保留该值 反馈是我的表和模型中的一列数据类型int 在所有情况下,任何选择都会保存0,尝试2错误,因为只显示一个单选按钮 尝试1 @Html.Label("Good") @Html.RadioButtonFor(model => model.FeedBack,

我有一个简单的反馈表,用户只能选择一个

好的最好的好的

这些是固定的文本和值,所以我正在硬编码。我尝试了这些方法来获取它们的值,但没有一种尝试是有效的

如何在表中保存选定的单选按钮值,以及如何在编辑时保留该值

反馈是我的表和模型中的一列数据类型int

在所有情况下,任何选择都会保存0,尝试2错误,因为只显示一个单选按钮

尝试1

        @Html.Label("Good")
        @Html.RadioButtonFor(model => model.FeedBack, false)

        @Html.Label("Better")
        @Html.RadioButtonFor(model => model.FeedBack, false)

        @Html.Label("Best")
        @Html.RadioButtonFor(model => model.FeedBack, false)

        @Html.Label("Excellent")
        @Html.RadioButtonFor(model => model.FeedBack, false)
尝试2

        @Html.RadioButtonFor(model => model.FeedBack,
        new List<SelectListItem>{new SelectListItem{Text="Good",Value = "1" },
        new SelectListItem { Text = "Better", Value = "2" },
        new SelectListItem { Text = "Best", Value = "3" },
        new SelectListItem { Text = "Excellent",Value="4" } })

您为所有单选按钮指定了一个值
false
,该值不能绑定到类型为
int
的属性。假设您的值是
1
(良好)到
4
(优秀),那么您的视图需要

<label>
    @Html.RadioButtonFor(model => model.FeedBack, 1, new { id = "" })
    <span>Good</span>
</label>
<label>
    @Html.RadioButtonFor(model => model.FeedBack, 2, new { id = "" })
    <span>Better</span>
</label>
.... // ditto for Better (value=3) and Excellent(value=4)

@Html.radioButton(model=>model.FeedBack,1,新的{id=”“})
好
@Html.radioButton(model=>model.FeedBack,2,新的{id=”“})
更好
.... // 同上,更好(值=3)和优秀(值=4)
旁注:
@Html.Label(“Good”)
创建一个与名为
Good
的表单控件关联的标签元素,该控件不存在,因此单击它不会选中/取消选中关联的按钮


<>我也建议您考虑使用<代码>枚举>代码>值,而不是<代码> int >代码>。并且可能想考虑“Excel”如何被评级为“最佳”< < /P> < P>你已经给了你所有的单选按钮一个值:<代码> false <代码>,它不能绑定到一个属于<代码> int <代码>的属性。假设您的值是
1
(良好)到
4
(优秀),那么您的视图需要

<label>
    @Html.RadioButtonFor(model => model.FeedBack, 1, new { id = "" })
    <span>Good</span>
</label>
<label>
    @Html.RadioButtonFor(model => model.FeedBack, 2, new { id = "" })
    <span>Better</span>
</label>
.... // ditto for Better (value=3) and Excellent(value=4)

@Html.radioButton(model=>model.FeedBack,1,新的{id=”“})
好
@Html.radioButton(model=>model.FeedBack,2,新的{id=”“})
更好
.... // 同上,更好(值=3)和优秀(值=4)
旁注:
@Html.Label(“Good”)
创建一个与名为
Good
的表单控件关联的标签元素,该控件不存在,因此单击它不会选中/取消选中关联的按钮


<>我也建议您考虑使用<代码>枚举>代码>值,而不是<代码> int >代码>。并且可能想考虑“Excel”如何被评级为“最佳”

保存数据的代码在哪里?处理表单提交的操作方法?感谢您的帮助,使用实体框架自动生成的代码进行插入和更新。保存数据的代码在哪里?处理表单提交的操作方法?感谢您的帮助,它使用了使用实体框架自动生成的代码来插入和更新表单。它在插入和更新方面都很好。我们也理解@Html.Label(“Good”)的重要性。但是第三个参数new{id=”“}的用途是什么,因为否则它将生成所有带有
id=“FeedBack”
和重复
id
属性的单选按钮都是无效的html。
新的{id=”“}
将其删除。除非您使用javascript访问特定的按钮,否则实际上并不需要
id
属性。替代方法是使用
@Html.RadioButtonFor(model=>model.FeedBack,1,new{id=“good”})
(即给每个按钮一个唯一的
id
)和
@Html.LabelFor(“good”)
很好
了解Knowledgable。它在插入和更新时都可以正常工作。我们也理解@Html.Label(“Good”)的重要性。但是第三个参数new{id=”“}的用途是什么,因为否则它将生成所有带有
id=“FeedBack”
和重复
id
属性的单选按钮都是无效的html。
新的{id=”“}
将其删除。除非您使用javascript访问特定的按钮,否则实际上并不需要
id
属性。替代方法是使用
@Html.RadioButtonFor(model=>model.FeedBack,1,new{id=“good”})
(即给每个按钮一个唯一的
id
)和
@Html.LabelFor(“good”)
良好
知识型理解。