问题描述
||
我正在使用asp.net mvc3。我通过使用foreach循环渲染局部视图。所以我想做的是,每当部分渲染一个新的div到页面中时,我都会在我的局部视图中有一个div。我只想给每个div取一个唯一的名称。谁能帮我吗 ??????
提前致谢
解决方法
只需确保您的局部视图所使用的模型中有一些唯一的东西,然后在局部视图中所需要的就是
<div name=\"div_@(Model.SomeUniqueId)\"></div>
如果模型中没有合适的东西,则可以使用ViewBag:
@{
var i = 0;
foreach (var item in Model.Items) {
ViewBag.UniqueId=i++;
Html.RenderPartial(\"PartialView\",item);
}
}
, 在局部视图中,您可以按以下方式定义div:
<div id=\"<%=Guid.NewGuid().ToString() %>\"></div>
这样,您就不必关心模型是否需要进行任何额外的填充来填充div id。另外,请注意,我使用id作为唯一的占位符。 div没有\'name \'属性,因此请注意这一点。
, 您需要借助javascript动态创建DIV
以下是将帮助您的示例代码
<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>