2010-02-24 5 views
3

Existe-t-il une méthode prête à l'emploi pour créer des balises "id" uniques dans ASP.NET MVC?ASP.NET MVC peut-il générer des ID de client uniques?

(similaires aux redoutés mais parfois ClientIDs utiles dans WebForms?)

Ce serait utile lors du rendu une vue partielle de nombreuses fois sur une page.

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

Sinon, il est assez facile de rouler le mien.

Merci beaucoup,

Jon

+0

Ils ne le font pas, et il ne devrait pas y avoir de raison de le faire. Il y a rarement une raison d'avoir plus de quelques éléments w/id dans mon expérience. Dans votre exemple, il n'y a aucune raison que l'utilisation d'une classe css ne fonctionne pas aussi bien. – Paul

Répondre

1

Pour autant que je sache, MVC n'a pas. J'ai utilisé ASP.NET MVC pendant plus d'un an et je n'ai jamais eu besoin de l'utiliser. Quand j'ai plusieurs contrôles, avec le même nom, je veux presque toujours pouvoir interroger ces contrôles plus tard, donc j'ai besoin de connaître l'Id, et utiliser un compteur, donc je connais les noms. Si vous n'avez pas besoin de connaître leurs identifiants, pourquoi même leur donner un identifiant?

5

Utilisez un 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> 

Je voudrais aussi passer le GUID en tant qu'objet vidéotex lors de l'appel de la méthode RenderPartial pour garder votre ViewUserControl bien rangé

0

De MSDN:

La chance que la valeur de la nouvelle Guid sera tous les zéros ou égal à tout autre Guid est très faible.

Il ne semble donc pas possible de s'assurer qu'un ID est absolument unique. Utiliser Guid semble être une meilleure solution que de générer un nombre aléatoire par vous-même.

Vous pouvez essayer de générer l'ID à partir des données ou de leur description.

Questions connexes