ASP MVC href bir denetleyiciye / görünüme


97

Bu bende var:

<li><a href="/Users/Index)" class="elements"><span>Clients</span></a></li>

Hangi iyi çalışıyor. Ama zaten bu sayfada veya denetleyicideysem /Users/Detailsve bu bağlantıya tıklarsam beni yönlendirir /Users/Index.

hrefSitedeki mevcut konumum ne olursa olsun doğru yolu nasıl alabilirim ?


Yanıtlar:


182

Bunu başarmanın birkaç yolu var. Aşağıdakileri yapabilirsiniz:

<li>
     @Html.ActionLink("Clients", "Index", "User", new { @class = "elements" }, null)
</li>

veya bu:

<li>
     <a href="@Url.Action("Index", "Users")" class="elements">
          <span>Clients</span>
     </a>
</li>

Son zamanlarda şunları yapıyorum:

<a href="@Url.Action("Index", null, new { area = string.Empty, controller = "User" }, Request.Url.Scheme)">
     <span>Clients</span>
</a>

Sonuç http://localhost/10000, URL yapısına aşağıdaki gibi (veya kullandığınız bağlantı noktasıyla) eklenecektir:

http://localhost:10000/Users

Umarım bu yardımcı olur.


19

ne dersin

<li>
<a href="@Url.Action("Index", "Users")" class="elements"><span>Clients</span></a>
</li>

8

Takip etmeyi dene:

<a asp-controller="Users" asp-action="Index"></a>

(ASP.NET 5 ve MVC 6 için geçerlidir)


ASP.NET için geçerli değil. Eski ASP sayfaları için geçerli olabilir.
Zanon

2
Yalnızca ASP.NET 5 yani MVC 6 için geçerlidir
Ifeanyi Chukwu

6

Burada '~', Home'un denetleyici ve Download_Excel_File'ın eylem yöntemi olduğu kök dizini ifade eder.

 <a href="~/Home/Download_Excel_File" />

5

Aşağıdaki ile değiştirebilirsiniz

<li><a href="./Index" class="elements"><span>Clients</span></a></li>

Ekstra nokta, aynı kontrol cihazında olduğunuz anlamına gelir. Denetleyiciyi farklı bir denetleyiciye değiştirmek istiyorsanız, bunu yazabilirsiniz.

<li><a href="../newController/Index" class="elements"><span>Clients</span></a></li>

1
Mükemmel Dostum. Şerefe.
Chandan Kumar

1
Güzel ve kolay! 10x!
Alex123

3

Bu çok basitleştirilmiş formu da kullanabilirsiniz:

@Html.ActionLink("Come back to Home", "Index", "Home")

Nerede:
Come back to Homesayfada görünecek metin
Index, görünüm adıdır
Home, denetleyici adıdır


-1

ASP.NET Core kullanıyorsanız, kabul edilen yanıtı şu şekilde ayarlayabilirsiniz:

<a href="@Url.Action("Index", null, new { area = string.Empty, controller = "User" }, @Context.Request.Scheme)">
     <span>Clients</span>
</a>

değiştirilmesi @Request.Url.Scheme ile@Context.Request.Scheme

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.