2009-06-01 3 views
6

मुझे समस्या के साथ, मेरे पास एक AJAX लिंक है जो पैरामीटर पास करता है, लेकिन, जिस पृष्ठ को खोलता है उसे उस पैरामीटर की आवश्यकता नहीं होती है। पृष्ठ केवल 2 आंशिक दृश्य लोड करता है, उनमें से एक की आवश्यकता है कि पृष्ठ को डेटा को सही तरीके से लोड करने के लिए पैरामीटर पास किया गया हो, और दूसरे को सिर्फ एक फॉर्म लोड करने की आवश्यकता है, इसलिए, उस पैरामीटर की आवश्यकता नहीं है। मैं इसे कैसे प्राप्त कर सकता हूं?पृष्ठ से आंशिक दृश्य

उत्तर

0

// नियंत्रक

public ActionResult EditFunctions(int id) 
    { 

     var sysfunctions= UnisegurancaService.FunctionsRepository.All(); 
     return View(sysfunctions); 
    } 
    // This is the controller (it does no need the parameter "ID") 

// यह दृश्य "EditFunctions"

<div id="formFunction"> 
<% Html.RenderPartial("FormFunction"); %> 
</div> 


<div id="gridFunction"> 
<% Html.RenderPartial("GridFunction"); %> // The grid needs the ID to work correctly but its in the parent page not in the partial call....and the call is an ajax call 
</div> 
+0

क्या आपका ग्रिडफंक्शन आंशिक दृश्य दृढ़ता से टाइप किया गया है? –

6

आदेश तुम क्या चाहते करने के लिए है, तो आप ViewData निर्माण करने के लिए आईडी जोड़ने की आवश्यकता होगी।

var sysfunctions= UnisegurancaService.FunctionsRepository.All(); 
ViewData["NeededID"] = id 
return View(sysfunctions); 

तो अपने ध्यान में रखते हुए जहां आंशिक

<%= Html.RenderPartial("GridFunction", (int)ViewData["NeededID"]) %> 

कास्ट के रूप में निश्चित रूप से आवश्यक प्रस्तुत करना।

जो भी दूसरे परम के रूप में धकेलता है वह आंशिक रूप से हो जाता है। मैं सुझाव देता हूं कि आपके आंशिक रूप से दृढ़ता से टाइप करें।

+0

क्षमा करें ... गलती टाइप करें .. सही –

+0

कोई समस्या नहीं है। मैंने अपना जवाब और अधिक उपयोगी बना दिया है। यदि आप दृढ़ता से अपने आंशिक रूप से टाइप नहीं करना चाहते हैं (जो मैं सुझाव दूंगा कि आप उन्हें टाइप करें) तो ViewDataDictionary के साथ eu-ge-ne की सलाह बेहतर है। –

3

इस प्रयास करें:

<% Html.RenderPartial("GridFunction", new ViewDataDictionary {{"Id", ViewData["Id"]}}); %> 

UPDATED:

और अपने नियंत्रक कार्रवाई में इस जोड़ें:

ViewData["Id"] = Id; 

UPDATED:

और अपने GridFunction पार्टी में अल देखें आप के रूप में पहचान का उपयोग कर सकते हैं:

<%= ViewData["Id"] %> 
0

पृष्ठ के कुछ निर्भरता पैरामीटर की जरूरत है, तो पेज में डेटा पास करने के लिए पर्याप्त पता करने की जरूरत है, तो पेज डेटा प्रदान करने के लिए सक्षम होना चाहिए। या, अधिक सरलता से, पेज के व्यूडेटा में पैरामीटर जोड़ें और इसके साथ किया जाए।