2011-01-05 98 views
1

我在一个循环中使用了部分视图,并生成多个id =“item_itemD”输入(我使用Html.HiddenFor生成输入)。具有唯一ID的部分视图

我该怎么做才能使用partials,所以我的标记可以是html 4.01 strict?

谢谢

回答

3

你可以在一个整数值传递给部分和incrimenting下一个itteration之前它添加到ID。

var counter = 0; 
foreach(var item in items) 
{ 
    Html.RenderPartial("MyPartial",counter); 
counter ++ 
} 

如果您已经传递了一个模型,以你的部分观点,你可能会考虑创建一个基本视图模型contining当前的对象和INT的性能。

Html.RenderPartial("MyPartial", new MyViewModel{Counter = counter; Model = item} 
+0

谢谢你的答案杰米!我实际上没有使用这个ID,所以没有一种不会生成ID的方法?我正在考虑不使用hiddenfor helper,只需通过“hand”写入输入位。 – 2011-01-05 17:41:19

+1

我想你可以在HiddenField的htmlAttributes属性中指定一个空的Id属性。 Somethingl like Html.HiddenFor(m => m.bla,new {@id =“”}); – 2011-01-05 17:45:07

+0

就是这样,谢谢! =)当id为空时,id甚至不会出现。我想模型绑定是使用名称(item.itemid),所以也许我可以继续使用模型绑定。 – 2011-01-05 17:50:32