Aku punya ini:
<li><a href="/Users/Index)" class="elements"><span>Clients</span></a></li>
Yang bekerja dengan baik. Tetapi jika saya sudah berada di halaman ini atau pada pengontrol misalnya /Users/Details
dan saya mengklik tautan ini, itu mengarahkan saya ke /Users/Index
.
Bagaimana saya bisa mendapatkan jalur yang benar href
terlepas dari posisi saya saat ini di situs?
asp.net
asp.net-mvc
asp.net-mvc-4
razor
href
Zapnologica
sumber
sumber
Jawaban:
Ada beberapa cara untuk melakukannya. Anda dapat melakukan hal berikut:
<li> @Html.ActionLink("Clients", "Index", "User", new { @class = "elements" }, null) </li>
atau ini:
<li> <a href="@Url.Action("Index", "Users")" class="elements"> <span>Clients</span> </a> </li>
Belakangan ini saya melakukan hal berikut:
<a href="@Url.Action("Index", null, new { area = string.Empty, controller = "User" }, Request.Url.Scheme)"> <span>Clients</span> </a>
Hasilnya akan memiliki
http://localhost/10000
(atau dengan port apa pun yang Anda gunakan) untuk ditambahkan ke struktur URL seperti:http://localhost:10000/Users
Saya harap ini membantu.
sumber
bagaimana tentang
<li> <a href="@Url.Action("Index", "Users")" class="elements"><span>Clients</span></a> </li>
sumber
Coba yang berikut ini:
<a asp-controller="Users" asp-action="Index"></a>
(Berlaku untuk ASP.NET 5 dan MVC 6)
sumber
Di sini '~' merujuk ke direktori root, di mana Home adalah controller dan Download_Excel_File adalah metode aksi
<a href="~/Home/Download_Excel_File" />
sumber
Anda dapat memodifikasi dengan yang berikut ini
<li><a href="./Index" class="elements"><span>Clients</span></a></li>
Titik ekstra berarti Anda berada dalam pengontrol yang sama. Jika Anda ingin mengubah pengontrol ke pengontrol yang berbeda maka Anda dapat menulis ini
<li><a href="../newController/Index" class="elements"><span>Clients</span></a></li>
sumber
Anda juga dapat menggunakan formulir yang sangat disederhanakan ini:
@Html.ActionLink("Come back to Home", "Index", "Home")
Dimana:
Come back to Home
adalah teks yang akan muncul di halamanIndex
adalah nama tampilanHome
adalah nama pengontrolsumber
Jika menggunakan ASP.NET Core, Anda dapat menyesuaikan jawaban yang diterima untuk:
<a href="@Url.Action("Index", null, new { area = string.Empty, controller = "User" }, @Context.Request.Scheme)"> <span>Clients</span> </a>
mengganti
@Request.Url.Scheme
dengan@Context.Request.Scheme
sumber