437 Stimmen

Wie deklariert man eine lokale Variable in Razor?

Ich entwickle eine Webanwendung in asp.net mvc 3. Ich bin sehr neu darin. In einer Ansicht mit Razor, möchte ich einige lokale Variablen zu deklarieren und verwenden Sie es über die gesamte Seite. Wie kann man das machen?

Es scheint ziemlich trivial zu sein, die folgende Aktion durchfü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>
}

Aber das funktioniert nicht. Ist das möglich?

4voto

d384 Punkte 51

Wenn Sie möchten, dass eine Variable auf der gesamten Seite zugänglich ist, empfiehlt es sich, sie am Anfang der Datei zu definieren. (Sie können entweder einen impliziten oder expliziten Typ verwenden.)

@{
    // implicit type
    var something1 = "something";

    // explicit type
    string something2 = "something";
}

<div>@something1</div> @*display first variable*@
<div>@something2</div> @*display second variable*@

3voto

sajadre Punkte 1052

Sie können alles in einen Block packen und einfach jeden beliebigen Code in diesen Block schreiben, genau den untenstehenden Code:

@{
        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>
        }
    }

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X