नियंत्रक / दृश्य के लिए ASP MVC href


91

मेरे पास यह है:

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

जो ठीक काम करता है। लेकिन अगर मैं पहले से ही इस पृष्ठ पर या नियंत्रक उदाहरण /Users/Detailsपर हूं और मैं इस लिंक पर क्लिक करता हूं तो यह मुझे पुनर्निर्देशित करता है /Users/Index

hrefसाइट पर अपनी वर्तमान स्थिति की परवाह किए बिना मैं सही रास्ता कैसे प्राप्त कर सकता हूं ?


1
गो थ्रू दिस ..: codeproject.com/Tips/583469/…
रवि मेहता

जवाबों:


175

कुछ तरीके हैं जिनसे आप इसे पूरा कर सकते हैं। आप निम्न कार्य कर सकते हैं:

<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

आशा है कि ये आपकी मदद करेगा।


18

कैसा रहेगा

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

7

निम्नलिखित प्रयास करें:

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

(ASP.NET 5 और MVC 6 के लिए मान्य)


इसके ASP.NET के लिए मान्य नहीं है। शायद पुराने एएसपी पृष्ठों के लिए मान्य है।
ज़नोन

1
केवल ASP.NET 5 के लिए मान्य है। MVC 6
इफैनी चुक्वु

6

यहां '~' रूट डायरेक्टरी को संदर्भित करता है, जहां होम कंट्रोलर है और 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
बहुत बढ़िया दोस्त।
चंदन कुमार

1
अच्छा और आसान! 10x!
एलेक्स १२

3

आप इसे बहुत ही सरल रूप में भी उपयोग कर सकते हैं:

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

कहां:
Come back to Homeपृष्ठ पर दिखाई देने वाला पाठ
Indexदृश्य नाम
Homeनियंत्रक नाम है


-1

यदि ASP.NET कोर का उपयोग किया जाता है, तो आप निम्न उत्तर को स्वीकार कर सकते हैं:

<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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.