所以我是MVC和ASP.Net的新手。我整个下午一直在阅读这里的帖子,我无法让这个工作。我尝试了this,this和this,我只是不知道自己做错了什么。
条件类
public class conditions
{
public string condName;
public bool condValue;
public conditions(string s)
{
condName = s;
}
}
风险历史课
public class riskHistory
{
public List<conditions> results;
public riskHistory()
{
results = new List<conditions>();
results.Add(new conditions("History of Marfans Syndrome"));
results.Add(new conditions("Family history of aortic disease"));
results.Add(new conditions("Recent aortic manipulation"));
results.Add(new conditions("Known thorasic aorta aneurysm"));
}
}
现在有一个riskPain和riskFeatures类以相同的方式定义。我需要将其拆分为3,因为每个都必须以不同的方式处理。我在视图中唯一的每个类上显示的内容。
视图模型定义为
public class adViewModel
{
public riskFeatures rF;
public riskPain rP;
public riskHistory rH;
public adViewModel()
{
rF = new riskFeatures();
rH = new riskHistory();
rP = new riskPain();
}
}
然后我在视图中有这个代码。它是adViewModel的强类型。
Does the patient have any of the following history?
@for (int x =0; x<Model.rH.results.Count; x++)
{
string n = Model.rH.results[x].condName.ToString();
<b>@Html.Label(n)</b> @Html.CheckBoxFor(m => m.rH.results[x].condValue)
}
Does the patient have any of the following features to their pain?
//继续其他课程
视图显示正确,但是当我提交表单时它没有绑定(所有condvalue都是false)。如果您要建议编辑器模板,那么我有第二个问题。 for循环上方视图代码中的问题“患者是否有以下病史?”对于每组复选框,该问题必须不同。这会怎么样?
非常感谢! 〜乍得
答案 0 :(得分:0)
因此,在Check循环中使用像CheckBoxFor这样的Html助手会给我带来麻烦,因为我无法控制生成的输入标签的ID。检查渲染的最终标记,并查看它所生成的控件的ID。写出控件的html并不比调用helper方法那么长。