如何在 cshtml 视图中使用 Asp .NET Core MVC 中的变量?
How to use variables in Asp .NET Core MVC within cshtml view?
我正在从 .Net Framework 迁移到 .Net 5.0,我正在尝试像普通 asp MVC 一样在 Razor 视图中使用变量,@page
变量中存在语法错误
Error: The '@page' directive must precede all other elements defined
in a Razor file.
Error: The 'page` directive must appear at the start of the line.
Error: The 'page' directives value(s) must be separated by whitespace.
代码:
@for (var page = Model.Pager.StartPage; page <= Model.Pager.EndPage; page++)
{
if (page == Model.Pager.CurrentPage)
{
<li class="active"><span style="line-height:20px">@page</span> </li>
}
else
{
<li><a href="@Url.Action("Index","Blogs",new { page = @page,pageSize=10 })">@page</a></li>
}
}
对于 razor 页面,@page 是保留字,应位于第一行。你不应该将它用于自定义代码:
所以像这样重写你的代码:
@page
..... your html
@for (var pg = Model.Pager.StartPage; pg <= Model.Pager.EndPage; pg++)
{
if (pg == Model.Pager.CurrentPage)
{
<li class="active"><span style="line-height:20px">@pg</span> </li>
}
else
{
<li><a href="@Url.Action("Index","Blogs",new { pg = @pg , pageSize=10 })">@pg</a></li>
}
}
使用简单的页面或@(page)代替@page,错误将得到解决。
我正在从 .Net Framework 迁移到 .Net 5.0,我正在尝试像普通 asp MVC 一样在 Razor 视图中使用变量,@page
变量中存在语法错误
Error: The '@page' directive must precede all other elements defined in a Razor file.
Error: The 'page` directive must appear at the start of the line.
Error: The 'page' directives value(s) must be separated by whitespace.
代码:
@for (var page = Model.Pager.StartPage; page <= Model.Pager.EndPage; page++)
{
if (page == Model.Pager.CurrentPage)
{
<li class="active"><span style="line-height:20px">@page</span> </li>
}
else
{
<li><a href="@Url.Action("Index","Blogs",new { page = @page,pageSize=10 })">@page</a></li>
}
}
对于 razor 页面,@page 是保留字,应位于第一行。你不应该将它用于自定义代码:
所以像这样重写你的代码:
@page
..... your html
@for (var pg = Model.Pager.StartPage; pg <= Model.Pager.EndPage; pg++)
{
if (pg == Model.Pager.CurrentPage)
{
<li class="active"><span style="line-height:20px">@pg</span> </li>
}
else
{
<li><a href="@Url.Action("Index","Blogs",new { pg = @pg , pageSize=10 })">@pg</a></li>
}
}
使用简单的页面或@(page)代替@page,错误将得到解决。