我正在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
您还能够使用: mvc
@if(string.IsNullOrEmpty(Model.CreatorFullName)) { ...your code... }
代码中不须要变量 asp.net
若是你正在寻找一个int变量,一个随着代码循环而递增的变量,你能够使用这样的东西: spa
@{ int counter = 1; foreach (var item in Model.Stuff) { ... some code ... counter = counter + 1; } }
不是OP问题的直接答案,但它也可能对你有所帮助。 您能够在范围内的某个html旁边声明一个局部变量而不会出现问题。 .net
@foreach (var item in Model.Stuff) { var file = item.MoreStuff.FirstOrDefault(); <li><a href="@item.Source">@file.Name</a></li> }
声明要在整个页面中访问的var ....页面顶部一般能够解决。 隐含或明确的选择。 code
@{ //implicit var something1 = "something"; //explicit string something2 = "something"; } @something1 //to display on the page @something2 //to display on the page
我以为你很亲密,试试这个: 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> }