2010-06-06 15 views
10

मुझे अद्यतन पैनल लोड होने पर जावास्क्रिप्ट फ़ंक्शन चलाने की आवश्यकता है (मैं स्क्रॉल करना चाहता हूं), और प्रारंभिक पृष्ठ लोड पर नहीं।एएसपी.Net: अपडेट पैनल लोड पर जावास्क्रिप्ट चलाने की आवश्यकता

कृपया सुझाव दें।

धन्यवाद

उत्तर

1

Untested

<script type="text/javascript"> 
    var app = Sys.Application; 
    app.add_init(ApplicationInit); 

    function ApplicationInit(sender) { 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    if (!prm.get_isInAsyncPostBack()) 
    { 
     prm.add_pageLoaded(PageLoaded); 
    } 
    } 

    function PageLoaded(sender, args) { 
    //Do something 
    } 

</script> 
21

इस तरह अपडेट के बाद अंत घटना प्राप्त करने के लिए है।

<script type="text/javascript"> 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    prm.add_endRequest(EndRequest); 

    function EndRequest(sender, args) { 
    } 
</script> 
+6

इस खूबसूरत है अद्यतन किया जाता है के लिए है। – DFTR

1

आप AJAX का उपयोग कर रहे हैं तो एक ही रास्ता मैं अभी तक अतुल्यकालिक पोस्ट वापस करने के लिए वापसी पर एक उपयोगकर्ता के लिए एक चेतावनी देने के लिए मिल गया है एक "अंत अनुरोध" हैंडलर विधियां में जोड़ने के लिए है।

इस तरह आप अनुरोध प्रबंधक को AJAX के असीमित पोस्ट बैक इवेंट से लौटने पर जावास्क्रिप्ट फ़ंक्शन चलाने के लिए कह सकते हैं। ऐसा करने के लिए

कोड है:

function load() 

{ 
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
} 

जहां "EndRequestHandler" अपने जावास्क्रिप्ट समारोह के नाम पर आप कॉल करना चाहते हो जाएगा।

<body onload=”load()”> 

function EndRequestHandler() 

{ 

      alert(“You record has been saved successfully”); 

} 

अब आप सर्वर साइड कोड में अपने तर्क (पीछे कोड) के आधार पर एक अलग संदेश देने के लिए चाहते हैं, तो आप उपयोग कर सकते एक सर्वर साइड छिपे हुए फील्ड: टैग के ऑनलोड घटना में ऊपर समारोह कॉल

<input id=”hdnValue” type=”hidden” runat=”server” value=”" /> 

पर एसिंक्रोनस पोस्ट वापस सर्वर साइड कोड में अपने मूल्य निर्धारित करें:

संरक्षित उप btn_Click (ByVal इस वस्तु के रूप में, ByVal ई System.EventArgs के रूप में) हैंडल btnCreateSample.Click

If condition Then 

    hdnValue.value = “do this” 

    Else  

    hdnValue.value = “do that” 

    End If 

End Sub 

अब आप अपने क्लाइंट साइड EndRequestHandler समारोह में इस छिपे हुए फ़ील्ड का मान जांच कर सकते हैं और अपने मूल्य के आधार पर उपयोगकर्ता के लिए एक अलग चेतावनी दे:

function EndRequestHandler() 
{ 
    if (document.getElementById(‘<%= hdnValue.ClientID %>’).value == “do this”) 

    { 
      alert(“You record has been saved successfully”); 
    } 
    else 
    { 
      alert(“There is an error”); 
    } 
} 
0

आप अगर jQuery प्रयोग किया जाता है के साथ नीचे दिए गए कोड का उपयोग कर सकते

यह बचाया संदेश दिखाने के लिए और 5 सेकंड के बाद उस संदेश को छिपाने के बाद अद्यतन पैनल

function pageLoad() { 
      window.Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
     } 
     function EndRequestHandler() 
     { 
      window.setTimeout(function() { 
       var label = window.$get('<%= lblMsg.ClientID%>'); 
       if (label != null) { label.style.display = 'none'; } 
      }, 5000); 
     } 
संबंधित मुद्दे