/ / Czy program ASP.NET MVC umożliwia generowanie unikalnych identyfikatorów klientów? - asp.net-mvc

Czy ASP.NET MVC ma sposób generowania unikalnych identyfikatorów klienckich? - asp.net-mvc

Czy istnieje gotowy sposób tworzenia unikalnych tagów „id” w ASP.NET MVC?

(Podobne do budzących grozę, ale czasem przydatnych identyfikatorów klienta w formularzach internetowych?)

Przydałoby się to podczas renderowania widoku częściowego wiele razy na stronie.

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

Jeśli nie, łatwo jest rzucić własne.

Dzięki wielkie,

Jon

Odpowiedzi:

5 dla odpowiedzi № 1

Używać 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>

Przekazałbym również GUID jako obiekt viewdata podczas wywołania metody renderpartial, aby utrzymać porządek w ViewUserControl


1 dla odpowiedzi nr 2

O ile mi wiadomo, MVC tego nie ma. Korzystam z ASP.NET MVC od ponad roku i nigdy nie musiałem tego używać. Kiedy mam kilka kontrolek o tej samej nazwie, prawie zawsze chcę mieć możliwość późniejszego sprawdzenia tych kontrolek, więc muszę znać identyfikator i użyć licznika, więc znam nazwy. Jeśli nie musisz znać ich identyfikatorów, dlaczego nawet dajesz im identyfikator?


0 dla odpowiedzi № 3

Od MSDN:

Szansa, że ​​wartość nowego Guida będzie równa zeru do każdego innego Guid jest bardzo niski.

Wydaje się więc, że nie ma sposobu, aby upewnić się, że identyfikator jest absolutnie unikalny. Korzystanie z Guid wydaje się lepszym rozwiązaniem niż samodzielne generowanie losowej liczby.

Możesz spróbować wygenerować identyfikator na podstawie danych lub ich opisu.