Wir geben in ein paar Tagen eine Demo und ich muss viele unserer Ansichten nachmachen. Dazu gehört das Erstellen vieler gefälschter Daten usw. Ich dachte, ich würde eine Schleife und eine Erweiterungsmethode einfügen, die Zufallszahlen zurückgibt, so dass ich diese hartcodierten Daten nicht selbst erstellen muss.Warum gibt meine Zufallszahlen-HTML-Erweiterungsmethode die gleichen Werte zurück?
Hier ist meine Ansicht Code:
<% for(int i = 1; i < 7; i++) { %>
<tr>
<td class="auditsTableAgencyElement">Agency <%=i %></td>
<td class="auditsTableResults"><%= Html.GetRandomNumber(0, 30) %></td>
<td class="auditsTableResults"><%= Html.GetRandomNumber(0, 100) %>%</td>
<td class="auditsTableResults"><%= Html.GetRandomNumber(0, 20) %></td>
<% foreach (var record in Model.Categories) { %>
<td class="auditsTableResults"><%= Html.GetRandomNumber(0, 30) %></td>
<td class="auditsTableResults"><%= Html.GetRandomNumber(0, 100) %>%</td>
<td class="auditsTableResults"><%= Html.GetRandomNumber(0, 20) %></td>
<% } %>
</tr>
<% } %>
Hier ist, was meiner Meinung nach sieht nach tun:
Gleiche Zahlen auf der ganzen Linie. Werden meine Anfragen nach Zufallszahlen zwischengespeichert und an mich zurückgeschickt? Wenn ja, wie schalte ich diese Funktionalität nur für diese Methode aus?
public static string GetRandomNumber(this HtmlHelper html, int low, int high)
{
Random myRand = new Random();
return myRand.Next(low, high).ToString();
}
nicht ich brauche "diese Htmlhelper html", um für Es ist eine Erweiterungsmethode? – KingNestor
Sie erwähnen auch, dass eine einzelne statische Instanz nicht Thread-sicher ist. Kannst du das für mich erklären? Was könnte möglicherweise mit einer Menge von Threads passieren, die möglicherweise next() für dieselbe Instanz aufrufen? – KingNestor
@KingNestor Sie brauchen das, damit es eine Erweiterungsmethode ist, aber Sie brauchen das nicht, um öffentliche statische Funktion aufzurufen. –