2014-06-12 8 views
8

आप Url.Action में एकाधिक पैरामीटर कैसे भेजते हैं?आप Url.Action में एकाधिक पैरामीटर कैसे भेजते हैं?

मेरे पास एक क्रिया के साथ नियंत्रक है, और मुझे 2 पैरामीटर चाहिए, लेकिन दूसरा पैरामीटर प्राप्त नहीं किया जा रहा है।

मेरे कोड है:

@Url.Action("Products", "Jquery", new { categoryid = 1, Productid = 2}) 

Publc Action Jquery(int categoryid ,int Productid) 
{ 

} 

लेकिन मैं केवल categoryid प्राप्त करते हैं, हर बार Productid रिक्त है।

कृपया मुझे बताएं कि क्या करना है?

+0

आप एक स्ट्रिंग के रूप 'categoryid' निर्दिष्ट करते हैं, फिर भी' Jquery' कार्रवाई विधि में हस्ताक्षर 'categoryid' के लिए एक' int' उपयोग करता है। 'New {categoryid = 1, productid = 2}' –

+0

आज़माएं मुझे यकीन नहीं है कि यह एक टाइपो है लेकिन वापसी का प्रकार 'ActionResult' होना चाहिए और पैरामीटर मिश्रित है ..' url.Action ("actionName होना चाहिए "," नियंत्रकनाम "," ऑब्जेक्ट पैराम्स ")' –

+0

@robwaminal क्या आप मुझे बता सकते हैं कि "ऑब्जेक्ट पैराम्स" का उपयोग कैसे करें? –

उत्तर

8

इसे इस तरह से आजमाएं।

@Url.Action("Jquery", "Products", new { @categoryid = 1, @Productid = 2}) 

public ActionResult Jquery(int categoryid, int Productid) 
{ 
    return View(); 
} 

आपको अपनी कार्रवाई में 2 पैरामीटर प्राप्त करना चाहिए। Jquery मानना ​​ProductController

+0

मैंने इसे आजमाया था लेकिन यह काम नहीं कर रहा है, दूसरा पैरा प्राप्त नहीं कर सकता है। यह हमेशा –

+0

आपके पैरा ऑब्जेक्ट पैरामीटर पर '@' जोड़ने से समस्या को –

+0

समस्या को हल करना चाहिए, इससे कोई फर्क नहीं पड़ता, अगर आप अपने param को '@' के साथ उपसर्ग करते हैं या नहीं। यह अभी भी पहले काम करता है। मुझे यकीन नहीं है कि इसे कैसे समझाया जाए। शायद आपको कुछ टाइपो त्रुटि मिली है? –

7

क्या आप इस क्रिया को JQuery से बुला रहे थे? लगता है जैसे आप लक्षणों से हो सकते हैं (या कम से कम @ रॉबर्टो हो सकता है); यदि ऐसा है तो यह Html.Raw में लपेट:

@Html.Raw(@Url.Action("Jquery", "Products", new { @categoryid = 1, @Productid = 2})); 
संबंधित मुद्दे