Ich entwickle eine Webanwendung in asp.net mvc 3. Ich bin sehr neu darin. In einer Ansicht mit Rasiermesser möchte ich einige lokale Variablen deklarieren und auf der gesamten Seite verwenden. Wie kann das gemacht werden?
Es scheint ziemlich trivial zu sein, die folgende Aktion ausführen zu können:
@bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName);
@if (isUserConnected)
{ // meaning that the viewing user has not been saved
<div>
<div> click to join us </div>
<a id="login" href="javascript:void(0);" style="display: inline; ">join</a>
</div>
}
Das funktioniert aber nicht. Ist das möglich?
c#
.net
asp.net-mvc
asp.net-mvc-3
razor
vondip
quelle
quelle
@Code .. End Code
statt@{ .. }
@bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName);
Variablendefinition muss sich jedoch in einem "Codeblock" befinden. Ich kann keine bessere Antwort geben, warum dann so, es ist nur, wie Rasiermesser funktioniert.{ }
Tags normalerweise der erste SchrittIch denke, die Variable sollte sich im selben Block befinden:
quelle
isUserConnected
dann weiter unten auf der Seite erneut verwenden würden?@if (isUserConnected) { /* stuff if connected */ }
oder tun<div>Connected? @isUserConnected</div>
(dies funktioniert besser mit Zeichenfolgen). Es ist jedoch nicht außerhalb dieser Datei verfügbar (z. B. müssen Sie es in Teilabschnitten separat deklarieren).Sie können auch verwenden:
Keine Notwendigkeit für eine Variable im Code
quelle
Wenn Sie nach einer int-Variablen suchen, die inkrementiert wird, wenn sich der Code wiederholt, können Sie Folgendes verwenden:
quelle
Keine direkte Antwort auf das Problem von OP, aber es kann Ihnen auch helfen. Sie können problemlos eine lokale Variable neben HTML in einem Bereich deklarieren.
quelle
Um eine Variable zu deklarieren, auf die über die Seite zugegriffen werden soll. Am oberen Rand der Seite funktioniert es normalerweise. Implizite oder explizite Wahl.
quelle
Sie können alles in einen Block einfügen und einfach jeden gewünschten Code in diesen Block schreiben, genau den folgenden Code:
Es hilft Ihnen, zunächst einen saubereren Code zu haben, und Sie können auch verhindern, dass Ihre Seite viele Male verschiedene Codeblöcke lädt
quelle