it-swarm.dev

ASP MVC href إلى وحدة تحكم/عرض

لدي هذا:

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

الذي يعمل بشكل جيد. ولكن إذا كنت موجودًا بالفعل في هذه الصفحة أو في وحدة التحكم ، على سبيل المثال /Users/Details وأضغط على هذا الرابط يعيد توجيهي إلى /Users/Index.

كيف يمكنني الحصول على المسار الصحيح في href بغض النظر عن موقعي الحالي على الموقع؟

77
Zapnologica

هناك طريقتان يمكنك القيام بهما. يمكنك القيام بما يلي:

<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

آمل أن يساعد هذا.

153
Brendan Vogt

كيف حول

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

يمكنك تعديل مع ما يلي

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

النقطة الإضافية تعني أنك في وحدة التحكم نفسها. إذا كنت تريد تغيير وحدة التحكم إلى وحدة تحكم مختلفة ثم يمكنك كتابة هذا

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

حاول القيام بما يلي:

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

(صالح لـ ASP.NET 5 و MVC 6)

4
John Schroeder

يشير "~" هنا إلى الدليل الجذر ، حيث يكون Home هو وحدة التحكم و Download_Excel_File هو actionmethod

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

يمكنك أيضًا استخدام هذا النموذج المبسط للغاية:

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

أين :
Come back to Home هو النص الذي سيظهر على الصفحة
Index هو اسم العرض
Homeis اسم وحدة التحكم

1
Alexandre Neukirchen

إذا كنت تستخدم 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

0
Neil Schurrer