[英]MVC 4 : FormCollection Doesn't return radio button
我在Razor-View中动态创建控件。 在这里,我根据自己对象中的数据向DOM添加了一些控件。 但是,当我尝试添加单选按钮时,除非值保持不变,否则我不会收到它。 如果我动态添加两个具有不同值的单选按钮,则FormCollection不包含那些控件。
请帮我解决这个问题,因为我无法理解这种行为。 理想情况下,它应该刚刚返回了集合中的两个单选按钮。
foreach (var property in propertiesInner)
{
if (property.Name == "OptionQuestion")
{
if (@item.ObjQuestions.QuestionType == 4)
{
<td>
<table>
<tr>
<td>
@Html.RadioButton("RadTF", UniqueValue
, false, new { id = "RadTF", @style = "width:auto;background:none;border:none" })
@property.GetValue(itemInner, null)
</td>
</tr>
</table>
</td>
}
else if (@item.ObjQuestions.QuestionType == 1)
{
<td>
<table>
<tr>
<td>
@Html.CheckBox("Chk"+@item.QuestionCode.ToString()+UniqueValue
, false, new { id = "Chk"+@item.QuestionCode.ToString()+UniqueValue
, @style = "width:auto;background:none;border:none" })
@property.GetValue(itemInner, null)
</td>
</tr>
</table>
</td>
}
}
}
编辑1: UniqueValue是我的forloop变量。 为了给每个按钮一个唯一的值,我还尝试将这个唯一的变量连接到我的id上,如下所示:
@Html.RadioButton("RadTF"+UniqueValue, UniqueValue
, false, new { id = "RadTF"+UniqueValue
, @style = "width:auto;background:none;border:none" })
值是常量意味着,如果我生成具有相同值的单选按钮,则会在发布的集合中看到它们(或其中之一)。
对于单选按钮组,必须确保每个单选按钮:
id
name
name
属性是将不同的单选按钮组合在一起的属性。 您正在使用此重载:
public IHtmlString RadioButton(
string name,
Object value,
bool isChecked,
Object htmlAttributes
)
您可以尝试创建单选按钮吗?
@Html.RadioButton("RadTF", UniqueProperty, false, new { id = "RadTF"+UniqueValue, style = "width:auto;background:none;border:none" })
如果仍有问题,请发布呈现的表单的标记。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.