2010-01-18 5 views
6

मुझे जावास्क्रिप्ट खोज के लिए एक यूआरएल प्रस्तुत करने की आवश्यकता है जो मैं कर रहा हूं। दुर्भाग्यवश Url.Action न केवल कार्रवाई बल्कि वर्तमान आईडी प्रस्तुत करता है। ऐसा तब होता है जब वर्तमान में आईडी के साथ कार्रवाई का उपयोग करने वाले पृष्ठ पर।Url.Action केवल नियंत्रक और क्रिया प्रस्तुत करता है लेकिन आईडी

Url.Action("List", "Org"); को चित्रित करने के लिए पहले Org/List प्रस्तुत करेगा जिसमें से मैं सूचीबद्ध करने के लिए एक संगठन जोड़ सकता हूं। हालांकि, स्थान को Org/List/12345Url.Action("List", "Org"); पर स्थानांतरित करने के बाद Org/List/12345 प्रस्तुत किया जाएगा और इसमें शामिल होने से एक समस्या उत्पन्न होती है जहां मैं Org/List/12345/6789 के साथ समाप्त होता हूं।

क्या कोई अलग तरीका है जिसका उपयोग मैं Url.Action के अलावा कर सकता हूं? मैंने / की संख्या और स्ट्रिंग के भाग को हटाने के लिए जावास्क्रिप्ट का उपयोग करने के बारे में सोचा है, लेकिन यह थोड़ा सा हैक लगता है।

// appears in my Site.Master & utilizes the AutoComplete plugin for jQuery 
$(document).ready(function() { 
    $("input#FindOrg").autocomplete('<%= Url.Action("Find", "Org") %>', { 
     minChars: 3, 
     maxItemsToShow: 25 
    }).result(function(evt, data, formatted) { 
     var url = '<%= Url.Action("List", "Org") %>/'; 
     window.location.href = url + data; 
    }); 
}); 

उत्तर

12

सुझावों की युगल:

अगर आप Url.Action("Find", "Org", new { id = "" }) का उपयोग क्या होता है?

वैकल्पिक रूप से, Url.Content("~/Find/Org") के साथ मैन्युअल रूप से यूआरएल बनाने का प्रयास करें।

+0

'Url.Action (" ढूँढें "," संगठन ", नया {id =" "}} 'चाल चल रही थी। बहुत स्पष्ट होना चाहिए था! – ahsteele

+0

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

0

आप 'धोखा' और रूटिंग डिक्शनरी में 'नियंत्रक' और 'एक्शन' प्रविष्टियों तक पहुंच सकते हैं। यह आपको केवल यूआरएल के हिस्से का निर्माण करने की अनुमति देगा। एकमात्र चेतावनी यह है कि यदि आप अपना रूटिंग मॉडल बदलते हैं तो ये दिनचर्या गलत हो सकती है।

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