나는 이것을 가지고있다:
<li><a href="/Users/Index)" class="elements"><span>Clients</span></a></li>
잘 작동합니다. 하지만 이미이 페이지 나 컨트롤러 /Users/Details
에있는 경우이 링크를 클릭하면로 리디렉션됩니다 /Users/Index
.
href
사이트의 현재 위치에 관계없이 올바른 경로를 어떻게 얻을 수 있습니까?
답변
이를 수행 할 수있는 몇 가지 방법이 있습니다. 다음을 수행 할 수 있습니다.
<li>
@Html.ActionLink("Clients", "Index", "User", new { @class = "elements" }, null)
</li>
아니면 이거:
<li>
<a href="@Url.Action("Index", "Users")" class="elements">
<span>Clients</span>
</a>
</li>
최근에는 다음을 수행합니다.
<a href="@Url.Action("Index", null, new { area = string.Empty, controller = "User" }, Request.Url.Scheme)">
<span>Clients</span>
</a>
결과는 http://localhost/10000
다음과 같이 URL 구조에 추가됩니다 (또는 사용중인 포트에 관계없이).
http://localhost:10000/Users
이게 도움이 되길 바란다.
답변
어때
<li>
<a href="@Url.Action("Index", "Users")" class="elements"><span>Clients</span></a>
</li>
답변
다음을 시도하십시오.
<a asp-controller="Users" asp-action="Index"></a>
(ASP.NET 5 및 MVC 6에 유효)
답변
여기서 ‘~’는 루트 디렉토리를 의미하며, Home은 컨트롤러이고 Download_Excel_File은 actionmethod입니다.
<a href="~/Home/Download_Excel_File" />
답변
다음으로 수정할 수 있습니다.
<li><a href="./Index" class="elements"><span>Clients</span></a></li>
추가 점은 동일한 컨트롤러에 있음을 의미합니다. 컨트롤러를 다른 컨트롤러로 변경하려면 다음과 같이 작성할 수 있습니다.
<li><a href="../newController/Index" class="elements"><span>Clients</span></a></li>
답변
이 매우 간단한 형식을 사용할 수도 있습니다.
@Html.ActionLink("Come back to Home", "Index", "Home")
여기서 :
Come back to Home
페이지에 나타날 텍스트
Index
는보기 이름
Home
은 컨트롤러 이름입니다.
답변
ASP.NET Core를 사용하는 경우 허용되는 답변을 다음으로 조정할 수 있습니다.
<a href="@Url.Action("Index", null, new { area = string.Empty, controller = "User" }, @Context.Request.Scheme)">
<span>Clients</span>
</a>
교체 @Request.Url.Scheme
로@Context.Request.Scheme