我在要发布的表单中的foreach循环中有一个单选按钮。我希望在列出它们时检查第一个。下面的checked = "checked"
无济于事。只有单个单选按钮才有效。
<form action="/logged/hotel" method="post" >
@foreach (var item in ViewBag.companies)
{
<input type="radio" name="graph" value="@item.Value" checked="checked" /> @item.Text<br />
}
<input type="submit" value ="LOG IN" />
</form>
答案 0 :(得分:0)
添加名称属性,这会将您的单选按钮组合在一起,只显示一个选中。
答案 1 :(得分:0)
只能检查一组中的一个单选按钮。 所有单选按钮都在同一组中。 你想把它们放在一个不同的集合中,所以说
name="@item.Value"
然而MVC不喜欢这样,所以你必须做类似
的事情[HttpPost]
public ActionResult MyGraphPage(GraphViewModel vm){
foreach(var company in MyDataContext.Companies){
if(Request.Form.AllKeys.Contains(company.Value){
//show the graph
}
}
答案 2 :(得分:0)
如果你只是想要检查第一个,你可以做到这一点,它不是最优雅的解决方案,但有效。
<form action="/logged/hotel" method="post" >
@{
var isfirst = true;
}
@foreach (var item in ViewBag.companies)
{
if (isfirst) {
isfirst = false;
<input type="radio" name="graph" value="@item.Value" checked="checked" />@item.Text<br/>
} else {
<input type="radio" name="graph" value="@item.Value"/>@item.Text<br/>
}
}
<input type="submit" value ="LOG IN" />
</form>
答案 3 :(得分:0)
/common.txt