如何在Razor中聲明局部變量?

我正在asp.net mvc 3中開發一個Web應用程序。我對它很新。 在使用剃刀的視圖中,我想聲明一些局部變量並在整個頁面中使用它。 如何才能作到這一點? javascript

可以執行如下操做彷佛至關微不足道: html

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

但這不起做用。 這可能嗎? java


#1樓

您還能夠使用: mvc

@if(string.IsNullOrEmpty(Model.CreatorFullName))
{
...your code...
}

代碼中不須要變量 asp.net


#2樓

若是你正在尋找一個int變量,一個隨着代碼循環而遞增的變量,你能夠使用這樣的東西: spa

@{
  int counter = 1;

  foreach (var item in Model.Stuff) {
    ... some code ...
    counter = counter + 1;
  }
}

#3樓

不是OP問題的直接答案,但它也可能對你有所幫助。 您能夠在範圍內的某個html旁邊聲明一個局部變量而不會出現問題。 .net

@foreach (var item in Model.Stuff)
{
    var file = item.MoreStuff.FirstOrDefault();

    <li><a href="@item.Source">@file.Name</a></li>
}

#4樓

聲明要在整個頁面中訪問的var ....頁面頂部一般能夠解決。 隱含或明確的選擇。 code

@{
               //implicit
               var something1 = "something";
               //explicit
               string something2 = "something";
          }


            @something1 //to display on the page
            @something2 //to display on the page

#5樓

我以爲你很親密,試試這個: htm

@{bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName);}
@if (isUserConnected)
{ // meaning that the viewing user has not been saved so continue
    <div>
        <div> click to join us </div>
        <a id="login" href="javascript:void(0);" style="display: inline; ">join here</a>
    </div>
}
相關文章
相關標籤/搜索