我正在使用带Razor的MVC3。
我想动态地为我的单选按钮生成id。我在循环中调用我的代码,并且应该动态地生成id / name。 在我的视图中命名为我的单选按钮...如下面的代码....
@Html.RadioButtonFor(m => m.ClaimEntity.Claim, "True", Model.m.ClaimEntity.Claim.Equals(true) ? new { name = "Claim_" + ViewData["count"].ToString(), id = "Claim", title = "Claim_" + ViewData["count"].ToString() } : null)
@Html.Label("Yes")
@Html.RadioButtonFor(m => m.ClaimEntity.Claim, "False", Model.m.ClaimEntity.Claim.Equals(false) ? new { name = "Claim_" + ViewData["count"].ToString(), id = "Claim", title = "Claim_" + ViewData["count"].ToString() } : null)
@Html.Label("No")
问题是,上面的代码片段没有显示为radiobutton创建的动态id,而它显示了动态创建的“title”,所以我需要在类似的行上为“id”和“name”属性的“title”。
Plz建议我如何才能实现这一目标。 的问候,
答案 0 :(得分:0)
看起来你生成的所有单选按钮都具有相同的ID!这可能会导致您的网页出现意外行为:通常,每个元素都必须具有唯一 ID。
如果我们也使id依赖于ViewData [“count”],我们可以确保它们是唯一的。
@Html.RadioButtonFor(m => m.ClaimEntity.Claim, "True", Model.m.ClaimEntity.Claim.Equals(true) ? new { name = "Claim_" + ViewData["count"].ToString(), id = "Claim_True" + ViewData["count"].ToString(), title = "Claim_" + ViewData["count"].ToString() } : null)
@Html.Label("Yes")
@Html.RadioButtonFor(m => m.ClaimEntity.Claim, "False", Model.m.ClaimEntity.Claim.Equals(false) ? new { name = "Claim_" + ViewData["count"].ToString(), id = "Claim_True" + ViewData["count"].ToString(), title = "Claim_" + ViewData["count"].ToString() } : null)
@Html.Label("No")