2011-06-15 52 views
1

我正在使用asp.net mvc3。我通過使用foreach循環呈現局部視圖。所以我想要做的事情是每次部分呈現一個新的div放入頁面時,我在局部視圖中都有一個div。我只是想給每個div一個獨特的名字。誰能幫我嗎 ?????? 由於事先我想給一個獨特的名字,以動態呈現的div

回答

-1

您需要創建DIV動態地使用JavaScript

以下的幫助是示例代碼,這將有助於你

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 

<title>Create DIV Dynamically Using JavaScript</title> 

<script type="text/javascript" language="javascript"> 

    function DynamicDiv() {  
     var dynDiv = document.createElement("div"); 
     dynDiv.id = "divDyna"; 
     dynDiv.innerHTML = "Created using JavaScript"; 
     dynDiv.style.height = "20px"; 
     dynDiv.style.width = "300px";  
     dynDiv.style.backgroundColor = 'gray'; 
     document.body.appendChild(dynDiv); 
    } 

</script> 
</head> 

<body> 
    <div> 
     <input id="Button1" type="button" 
     value="Using JS" onclick="DynamicDiv();" />  

    </div> 
</body> 

</html> 
+1

-1這不是ASP.NET MVC,甚至不會生成唯一的名稱。 – 2011-06-15 04:55:40

+0

這對我來說沒有幫助,因爲每個創建的div都有相同的id「divDyna」。我需要唯一的ID。 – 2011-06-17 05:22:49

1

只要確保你在所使用的模型的東西你是獨一無二的局部視圖 - 然後在局部視圖所有你需要的是

<div name="[email protected](Model.SomeUniqueId)"></div> 

如果沒有什麼合適的模型,Y您可以同時使用ViewBag:

@{ 
var i = 0; 
foreach (var item in Model.Items) { 
    ViewBag.UniqueId=i++; 
    Html.RenderPartial("PartialView", item); 
    } 
} 
1

在你的部分觀點,你可以有定義爲每低於格:

<div id="<%=Guid.NewGuid().ToString() %>"></div> 

這種方式,你不必關心模型做任何額外提升以填充div ID。另外請注意,我使用ID作爲唯一的佔位符。 divs沒有'名稱'屬性,所以要小心記下這一點。