0

所以我是 MVC 和 ASP.Net 的新手。我整个下午都在阅读这里的帖子,但我无法让它发挥作用。我试过这个这个这个,我只是不知道我做错了什么。

条件类

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 都是假的)。如果您要建议一个编辑器模板,那么我还有第二个问题。for 循环上方视图代码中的问题“患者是否有以下病史?” 对于每组复选框,该问题必须不同。那将如何运作?

非常感谢你们!~乍得

4

1 回答 1

0

因此,在 for 循环中使用像 CheckBoxFor 这样的 Html 助手给我带来了问题,因为我无法控制生成的输入标签的 id。检查呈现的最终标记并查看它正在制作的控件的 id 是什么。写出控件的 html 并不会比调用 helper 方法长得多。

于 2012-08-30T19:56:14.623 回答