2010-03-28 10 views
5

कस्टम तर्क पारित करने के लिए मैं डोनट कैशिंग का प्रतिस्थापन सुविधा का उपयोग करना चाहते हैं।एएसपी नेट - प्रतिस्थापन और पेज निर्गम (डोनट) कैशिंग - कैसे करने के लिए HttpResponseSubstitutionCallback प्रतिनिधि

public static string GetTime(HttpContext context) 
{ 
    return DateTime.Now.ToString("T"); 
} 

...

The cached time is: <%= DateTime.Now.ToString("T") %> 
<hr /> 
The substitution time is: 
<% Response.WriteSubstitution(GetTime); %> 

... लेकिन मैं HttpContext बगल में फ़ंक्शन कॉलबैक करने के लिए अतिरिक्त पैरामीटर पारित करने के लिए करना चाहते हैं।
तो सवाल यह है:
कैसे GetTime कॉलबैक करने के लिए अतिरिक्त तर्क पारित करने के लिए?
उदाहरण के लिए , कुछ इस तरह:

public static string GetTime(HttpContext context, int newArgument) 
{ 
    // i'd like to get sth from DB by newArgument 
    // return data depending on the db values 

    // ... this example is too simple for my usage 
    if (newArgument == 1) 
     return ""; 
    else 
     return DateTime.Now.ToString("T"); 
} 
+1

तो उत्तर जो मैं ढूंढ रहा था वह है: यह नहीं किया जा सकता है :) मेरी स्थिति में समस्या यह है कि मैं पृष्ठ पर एकाधिक (> = 0) पोल नियंत्रण डाल रहा हूं और मैं प्रत्येक नियंत्रण आधारित प्रस्तुत करना चाहता हूं तर्कों पर (UserID और PollID। यदि उपयोगकर्ता पहले से ही मतदान कर चुका है, तो प्रत्येक नियंत्रण के लिए मतदान फ़ॉर्म के बजाय मतदान के परिणाम होना चाहिए)। तो मैं विभिन्न कार्यों को परिभाषित नहीं कर सकता। अंत मैं ajax कॉल का उपयोग किया है $ पर मतदान चुनाव से प्रत्येक के लिए परिणाम (document) .ready घटना को पुनः प्राप्त करने में। लेकिन मैं तुम्हारी मदद की – zzare

उत्तर

2

अन्यथा, यदि आपकी समस्या यह है कि आप अलग अलग तर्क के आधार पर अलग अलग outputs है क्योंकि आप अपनी वेबसाइट पर विभिन्न स्थानों में उत्पादन प्रतिस्थापन उपयोग कर रहे हैं है, मुझे डर लग रहा एक ही तरीका है या तो विभिन्न कार्यों को परिभाषित करने के लिए है या तर्क के साथ वास्तविक विधि के लिए स्टब के रूप में केवल प्रतिस्थापन विधियों का उपयोग करने के लिए।

1

ठीक है, आप किसी भी तर्क आप सत्र में की जरूरत स्टोर कर सकते हैं। विधि GetTime में, इन तर्कों को HttpContext के माध्यम से एक्सेस किया जा सकता है।

+0

के लिए एक अच्छे समाधान के लिए उम्मीद कर रहा था ... सभी को धन्यवाद '' Substitution' नियंत्रण का उपयोग करते समय Session' उपलब्ध नहीं है। यह 'Context' उदाहरण में सूचीबद्ध लेकिन जब एक स्थिर कॉल-बैक विधि में के रूप में यह प्रारंभ और लोड कभी नहीं किया जाता है जब प्रतिस्थापन सुविधा के माध्यम से कहा जाता है हमेशा शून्य है है। –

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