다음 Razor 파일이 있다고 가정해 보겠습니다 _Layout.cshtml
. ASP.NET Core 3+ 및 Razor Pages를 사용할 때 주석 처리된 조건을 어떻게 작성합니까?
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" asp-page="/Index">Index</a>
</li>
@* If route starts with /a/, for example http://localhost/a/1.html and http://localhost/a/2/1.html *@
<li class="nav-item">
<a class="nav-link" asp-page="/a/Index">A</a>
</li>
@* If route starts with /b/, for example http://localhost/b/1.html and http://localhost/b/2/1.html *@
<li class="nav-item">
<a class="nav-link" asp-page="/b/Index">B</a>
</li>
<li class="nav-item">
<a class="nav-link" asp-page="/b/1/Index">B other</a>
</li>
</ul>
Razor Pages에서는 ViewContext.RouteData.Values["page"]
_Layout 파일에서도 사용할 수 있습니다 . URL이 예인 경우 https://localhost:44359/Help/About
생성 /Help/About
됩니다.
코드 사용:
@{
string page = ViewContext.RouteData.Values["page"] as string; // Values[] produces objects, so cast is needed
}
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" asp-page="/Index">Index</a>
</li>
@if (page.StartsWith("/a/"))
{
<li class="nav-item">
<a class="nav-link" asp-page="/a/Index">A</a>
</li>
}
@if (page.StartsWith("/b/"))
{
<li class="nav-item">
<a class="nav-link" asp-page="/b/Index">B</a>
</li>
<li class="nav-item">
<a class="nav-link" asp-page="/b/1/Index">B other</a>
</li>
}
</ul>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다