2011-11-30 18 views
8

Jquery में, मुझे प्रोग्राम नियंत्रक और Empl कार्रवाई पर जाने के लिए कार्यक्रम बताना होगा। मैं यह कैसे कहूं। मैं AJAX का उपयोग किए बिना ऐसा करने का आसान तरीका चाहता हूं।एमवीसी Jquery नियंत्रक कार्रवाई

+0

आपका क्या मतलब है था? आप एक नए पेज पर नेविगेट करना चाहते हैं? – Dismissile

+0

"जाओ"? क्या चल रहा है? पूरा पृष्ठ? एक AJAX कॉल? –

उत्तर

13
window.location.href = "/{controller}/{action}" //in your case, /employee/empl 

इसका कारण यह है मार्गों अपने Global.asax.cs फ़ाइल में निर्दिष्ट के काम करता है। मेरा सुझाव है कि यह कैसे काम करता है क्योंकि यह एमवीसी के मूलभूत सिद्धांतों में से एक है ....

+0

बेहतर उपयोग स्थान.href = 'जो भी'; – BigMike

+0

@ बिगमाइक ने अंत में ".href" जोड़ा। प्रतिक्रिया के लिए धन्यवाद, आप शायद सही हैं कि यह शायद खिड़की के रूप में स्पष्ट है। स्थान एक वस्तु है। –

+0

और यदि मैं पैरामीटर पास करना चाहता हूं? –

0

यूआरआई संरचना & रूटिंग के बारे में बनाना मान्यताओं, लेकिन:

window.location = '/employee/empl/';

+0

केवल तभी जब उसका मार्ग '/ नियंत्रक/क्रिया' – Dismissile

+0

हो। पहले एक "अस्वीकरण" क्षण जोड़ा गया। – simshaun

5

ठीक है, अब तक सभी अच्छी प्रतिक्रिया है, लेकिन यूआरएल बनाने के लिए जादू स्ट्रिंग का उपयोग करके मुझे ठंड मिलती है। मैं इस तरह एक एक्सटेंशन जोड़ने के पसंद करते हैं:

public static string GetUrl(this HtmlHelper, helper, string Action, string Controller, object RouteValues) 
{ 
    UrlHelper Url = new UrlHelper(HttpContext.Current.Request.RequestContext); 
    return Url.Action(Action, Controller, RouteValues); 
} 

और फिर मेरी जे एस कोड का उपयोग में:

location.href = '@Html.GetUrl("Action", "Controller", new { foo=Model.Foo })'; 

यह और अधिक सुसंगत है आंतरिक मार्ग के बारे में परवाह है, और मुझे एक केंद्रीकृत बिंदु देता है जहां बुरा काम करने Urls :) पर

ठीक है, एक और बात,

window.location = "whatever"; 

अच्छा और काम करता है है , अभी भी

location.href = "whatever"; 

प्राथमिकता है।

एचटीएच

+0

इसके लिए पहले से ही एक सहायक है: '@ url.Action (" एक्शन "," कंट्रोलर ", नया {foo = model.bar})' –

+0

@ क्रिस्टोफ क्लासेस: हाँ, निश्चित रूप से, और जैसा कि आप देख सकते हैं इसका आंतरिक रूप से उपयोग किया जाता है, स्वयं का सहायक एक केंद्रीकृत तरीका है जिसमें मैं यूआरएल पर गंदा चीजें कर सकता हूं, आदर्श रूप में आदर्श दुनिया में इसकी कोई आवश्यकता नहीं है, लेकिन कभी-कभी आवश्यकताएं इतनी मजेदार होती हैं कि मुझे इसका सहारा लेना पड़ता था। निस्संदेह मैंने अपने तर्क को नमूना कोड में हटा दिया है, मेरे असली सहायक का एक मजाक पोस्ट कर रहा है :) – BigMike

+0

एक और नकारात्मक ... क्या होता है जब यह स्क्रिप्ट स्थानांतरित करने पर एक दृश्य में नहीं है (जैसा कि यह नहीं होना चाहिए) ? आप अपने सहायक तरीकों का उपयोग नहीं कर सकते हैं। इसके बजाय इसे रूट पर रीडायरेक्ट करने के लिए पूरी तरह स्पष्ट होना चाहिए। –

2

आवेदन प्रकाशित होने पर स्वीकृत उत्तर काम नहीं करता है। मैं उपयोग करने के लिए

window.location.href='@Url.Action("ActionName","ControllerName")' 

आशा है कि यह मदद करता है

संबंधित मुद्दे