是否有开箱即用的方法在ASP.NET MVC中创建唯一的“id”标记?
(类似于WebForms中可怕但有时有用的ClientID?)
当在页面上多次渲染局部视图时,这将非常有用。
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%-- Example Partial View --%>
<div id="<%=GenerateAUniqueIDHere()%>">
Content
</div>
<script type="text/javascript">
$("#<%=GenerateAUniqueIDHere%>").hide().fadein().css("font-size", "500%");
</script>
如果没有,那就很容易卷起我自己的。
非常感谢,
乔恩
答案 0 :(得分:5)
使用GUID?
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%-- Example Partial View --%>
<%
string ID = Guid.NewGuid().ToString();
%>
<div id="<%=ID%>">
Content
</div>
<script type="text/javascript">
$("#<%=ID%>").hide().fadein().css("font-size", "500%");
</script>
我还会在renderpartial方法调用期间将GUID作为viewdata对象传递,以保持ViewUserControl整洁
答案 1 :(得分:1)
据我所知,MVC没有这个。我使用ASP.NET MVC超过一年,从来没有使用过它。当我有几个具有相同名称的控件时,我几乎总是希望以后能够查询这些控件,所以我需要知道Id,并使用计数器,所以我知道这些名称。如果你不需要知道他们的ID,为什么甚至给他们一个id?
答案 2 :(得分:0)