ASP MVC href ไปยังคอนโทรลเลอร์ / มุมมอง


96

ฉันมีสิ่งนี้:

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

ซึ่งใช้งานได้ดี แต่ถ้าฉันทำไปแล้วในหน้านี้หรือบนเช่นการควบคุมและฉันคลิกที่ลิงค์นี้เปลี่ยนเส้นทางให้ฉันไป/Users/Details/Users/Index

ฉันจะหาเส้นทางที่ถูกต้องhrefโดยไม่คำนึงถึงตำแหน่งปัจจุบันของฉันบนไซต์ได้อย่างไร


คำตอบ:


181

มีสองวิธีที่คุณสามารถทำได้ คุณสามารถทำสิ่งต่อไปนี้:

<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

ฉันหวังว่านี่จะช่วยได้.




6

ที่นี่ '~' หมายถึงไดเรกทอรีรากโดยที่ Home คือตัวควบคุมและ Download_Excel_File เป็นวิธีการดำเนินการ

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

5

คุณสามารถแก้ไขได้ดังต่อไปนี้

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

จุดพิเศษหมายความว่าคุณอยู่ในคอนโทรลเลอร์เดียวกัน หากคุณต้องการเปลี่ยนคอนโทรลเลอร์เป็นคอนโทรลเลอร์อื่นคุณสามารถเขียนสิ่งนี้ได้

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

1
บัดดี้ที่ยอดเยี่ยมไชโย
Chandan Kumar

1
ดีและง่าย! 10x!
Alex123

3

คุณยังสามารถใช้รูปแบบที่เรียบง่ายนี้:

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

ที่ไหน:
Come back to Homeข้อความที่จะปรากฏบนเพจ
Indexคือชื่อมุมมอง
Homeคือชื่อคอนโทรลเลอร์


-1

หากใช้ 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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.