2011-06-29 14 views
5

मेरे पास एक पृष्ठ है जहां एक बटन पर क्लिक किया जाता है, एक जावास्क्रिप्ट फ़ंक्शन चलता है। इसके बाद यह कुछ डेटा एकत्र करता है और डेटा को इस पृष्ठ में एक छिपे हुए क्षेत्र पर रखता है। फिर यह एक नई खिड़की खुलता है। इस नई विंडो तो जैसे इस समग्र डेटा को चुनता है: -जावास्क्रिप्ट मान और doPostback का उपयोग करें?

$('#accepted').val(window.opener.$('#accepted').val()); 

जहां स्वीकार किए जाते हैं दोनों माता पिता और बच्चे के विंडो में छिपी हुई फ़ील्ड है (कोई runat = "सर्वर" का इस्तेमाल किया गया था)। अब मुद्दा यह है कि मुझे इस डेटा को दो ग्रिड डेटाबेस करने की आवश्यकता है। वर्तमान में मैंने दोनों ग्रिड पर एक पोस्टपोस्टबैक किया है, लेकिन मैं वास्तव में क्या करना चाहता हूं वह फ़ॉर्म के लिए पोस्टबस्टबैक है और पेजलोड ईवेंट को डाटाबेसिंग संभालता है। तो दो प्रश्न: -

1) मैं फॉर्म कैसे पोस्ट करूं?

2) मैं वास्तविक फॉर्म जमा करने से अलग होने में सक्षम होने के दौरान यह कैसे कर सकता हूं?

उत्तर

1

फ़ॉर्म पोस्ट करने के लिए आपको स्वीकार्य फ़ील्ड सेट होने के बाद, अपने जावास्क्रिप्ट में __doPostback पर कॉल जोड़ने में सक्षम होना चाहिए। आप अपने ग्रिड में बाध्यकारी को नियंत्रित करने के लिए __doPostback के EventTarget और EventArgument पैरामीटर का उपयोग कर सकते हैं। अपने पेज लोड घटना में

__doPostback('rebindGrid', ''); 

और फिर इस:

तो आप इस अपने js में डाल सकता है आदेश में अधिक सीधे में यह टाई पोस्टबैक मॉडल के साथ

if (Request.Form["__EVENTTARGET"] == "rebindGrid") 
{ 
    //....Do so stuff 
} 
0

मैं के साथ कुछ सी #

सी # विस्तार विधि

public static string GetPostBackLink (this Control c, string argument = "") { 
return c.Page.ClientScript.GetPostBackEventReference(ctl, argument, true) + ";"; 
} 
मेरा लपेट

ASPX

<asp:LinkButton id="lnkDoThis" runat="server" onclick="lnkDoThis_Click" 
     style="display: none;"></asp:LinkButton> 

<asp:HiddenField id="hdnParamHolder" runat="server" /> 

जे एस

function DoSomething(param) { 
$("[id$='hdnDealTemp']").val(param); 
<%= lnkDoThis.GetPostBackLink() %> 
} 

codebehind

protected void lnkDoThis_Click (object sender, EventArgs e) { 
var myParam = hdnParamHolder.Value; 
// Do server actions here 
} 

एक दूसरे विंडो में खोलने के लिए के रूप में ... मुझे यकीन है कि मैं का पालन करें जब आप ऐसा करना चाहते हैं नहीं कर रहा हूँ ? यदि पोस्टबैक के बाद होता है तो पृष्ठ को फिर से लोड होने पर आपको hdnParamHolder नियंत्रण से पढ़ने की आवश्यकता होगी।

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