2010-02-24 2 views
3

Есть ли готовый способ создания уникальных тегов «id» в ASP.NET MVC?Имеет ли ASP.NET MVC способ создания уникальных идентификаторов ClientID?

(Подобно страшному, но иногда полезному ClientIDs в WebForms?)

Это было бы полезно при рендеринге частичного вида много раз на странице.

<%@ 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> 

Если нет, то достаточно легко опрокинуть мои собственные.

Спасибо большое,

Jon

+0

Их нет, и не должно быть причин, imo. В редких случаях редко бывает, что у меня больше, чем пара элементов w/id. В вашем примере нет причин, по которым использование класса css не будет работать так же хорошо. – Paul

ответ

1

Насколько я знаю, MVC не имеет этого. Я использовал ASP.NET MVC более года и никогда не должен был использовать это. Когда у меня есть несколько элементов управления с тем же именем, я почти всегда хочу иметь возможность запрашивать эти элементы управления позже, поэтому мне нужно знать Id и использовать счетчик, чтобы я знал имена. Если вам не нужно знать свои идентификаторы, зачем даже давать им идентификатор?

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> 

Я хотел бы также передать идентификатор GUID в качестве ViewData объекта во время renderpartial вызова метода держать ViewUserControl аккуратные

0

От MSDN:

вероятность того, что стоимость нового Guid будут все нули или равны любому другому руководству очень мало.

Так что, похоже, нет способа убедиться, что идентификатор абсолютно уникален. Использование Guid кажется лучшим решением, чем создание случайного числа по своему усмотрению.

Вы можете попробовать создать идентификатор из данных или их описание.