2011-09-07 12 views
26

मैं एजेक्स कॉल करने की कोशिश कर रहा हूं:मैं बिना अतिरिक्त ampersand परेशानी के एक JQuery विधि के लिए सही Url.Action कैसे पारित कर सकते हैं?

$('#Grid').load('@Url.Action("_AgentStatesGrid", "AgentStates", new { projectId = Model.SelectedProject, siteId = Model.SelectedSite })', null, refreshComplete); 

दुर्भाग्यवश, इसे इस प्रकार व्याख्या किया जाता है:

$('#Grid').load('/AgentStates/_AgentStatesGrid?projectId=179&siteId=0', null, refreshComplete); 

जैसा कि आप देख सकते हैं, & .a.m.p .; क्वेरीस्ट्रिंग के लिए एम्परसैंड के बजाय वहां है (मैंने डॉट्स डाले हैं क्योंकि, डुह, वेब इसे एम्पर्सेंड के रूप में व्याख्या करता है .., आपको यह विचार मिलता है)

मैंने url.Decode की कोशिश की और उसने कुछ भी नहीं किया। मुझे यकीन नहीं है कि मैं समस्या को समझता हूं इसलिए मुझे कोई फर्क नहीं पड़ता कि इसे कैसे ठीक किया जाए।

+1

प्रयास करें @ Html.Raw (Url.Action ("_ AgentStatesGrid", "AgentStates", नए {projectId = Model.SelectedProject, siteId = Model.SelectedSite})) – Steve

+1

यह स्टीव किया था! इसे उत्तर दें ताकि मैं इसे चेकमार्क कर सकूं :-) –

उत्तर

52

प्रयास करें

@Html.Raw(Url.Action("_AgentStatesGrid", "AgentStates", new { projectId = Model.SelectedProject, siteId = Model.SelectedSite })) 

धन्यवाद

+9

मैं कुछ हद तक निराश हूं कि यह आवश्यक है। मैं मदद नहीं कर सकता लेकिन सोचता हूं कि Url.Action के लिए सामान्य उपयोग-मामला एक लिंक के रूप में है, इस प्रकार (तकनीकी रूप से) एचटीएमएल की आवश्यकता होती है। लगभग सभी मामलों में रौ (एक पैरामीटर का मामला सही ढंग से काम करने से दुर्घटना से अधिक होता है) । लेकिन मुझे लगता है कि लोग 2011 से इस के साथ संघर्ष कर रहे हैं, इसलिए न्यूथिन की गुनना 'अब बदलती है ... –

+1

अधिक सहमत नहीं हो सका। प्रत्येक पैरामीटर को एन्कोड करना चाहिए, परिणामस्वरूप यूआरएल नहीं। – ptutt

+6

एम्पर्सेंड एन्कोडिंग? वे क्या सोच रहे थे??? –

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

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