2011-01-31 15 views
43

से जावास्क्रिप्ट फ़ंक्शन को कैसे कॉल करें मैंने एक asp.net पृष्ठ के साथ एक जावास्क्रिप्ट लिखा है।कोड-पीछे

कोड-पीछे

Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) 
    Handles Me.Load 
     If Session("My")= "Hi" Then 
      I want to call "Myfunction" javascript function 
     End If 
End Sub 

में Asp.net पृष्ठ

<HTML> <HEAD> 
    <script type="text/javascript"> 
     function Myfunction(){ 
      document.getElementId('MyText').value="hi"; 
     } 
     </script> 
</HEAD> <BODY> 
<input type="text" id="MyText" runat="server" /> </BODY> 

में मैं कैसे कर सकता है? यह ऐसा करने का

+1

संभावित डुप्लिकेट [कोड-बैक से जावास्क्रिप्ट फ़ंक्शन को कैसे कॉल करें] (http://stackoverflow.com/questions/4847819/how-to-call-javascript-function-from-code-behind) – outis

+2

क्या आप वास्तव में फ़ंक्शन को कोड-बैक से कॉल करना चाहते हैं, या क्या आप पृष्ठ लोड होने पर चलाने के लिए फ़ंक्शन करना चाहते हैं? मुझे लगता है कि यह आखिरी विकल्प है जिसे आप चाहते हैं। –

उत्तर

34

यह कोड के पीछे से एक या अधिक जावा स्क्रिप्ट विधियों को आमंत्रित करने का एक तरीका है। स्क्रिप्ट प्रबंधक का उपयोग करके हम अनुक्रमों में विधियों को कॉल कर सकते हैं। नीचे दिए गए स्थानीय दुश्मन उदाहरण पर विचार करें।

ScriptManager.RegisterStartupScript(this, typeof(Page), "UpdateMsg", 
    "$(document).ready(function(){EnableControls(); 
    alert('Overrides successfully Updated.');DisableControls();});", true); 

इस पहले विधि में EnableControls() लागू किया गया है। अगला अलर्ट प्रदर्शित किया जाएगा। अगला DisableControls() विधि लागू की जाएगी।

63

एक तरह से उपयोग करने के लिए है ClientScriptManager:

Page.ClientScript.RegisterStartupScript(
    GetType(), 
    "MyKey", 
    "Myfunction();", 
    true); 
+0

सबसे अच्छा तरीका आपकी तरह है, लेकिन "माईकी" क्या है? –

+4

कुंजी एक ही स्क्रिप्ट को दो बार उत्सर्जित करने में मदद करने के लिए केवल एक अद्वितीय पहचानकर्ता है। यह कुछ भी हो सकता है। – Jacob

12

एक बहुत ही आसान तरीका है जिसमें आप यह कर सकते हैं नहीं है। इसमें कोड के पीछे से लेबल नियंत्रण में जावास्क्रिप्ट कोड इंजेक्शन शामिल है। http://softmate-technologies.com/javascript-from-CodeBehind.htm (मृत) इंटरनेट पुरालेख से
लिंक:: https://web.archive.org/web/20120608053720/http://softmate-technologies.com/javascript-from-CodeBehind.htm

<head runat="server"> 
    <title>Calling javascript function from code behind example</title> 
     <script type="text/javascript"> 
      function showDialogue() { 
       alert("this dialogue has been invoked through codebehind."); 
      } 
     </script> 
</head> 

..........

lblJavaScript.Text = "<script type='text/javascript'>showDialogue();</script>"; 

यहाँ पूर्ण कोड चेक आउट: यहां नमूना कोड है

+2

दुर्भाग्यवश लिंक टूटा हुआ है :-( –

+0

इस समाधान को प्यार करना - यह लगभग धोखाधड़ी की तरह लगता है। मुझे संदेह है कि यह हर परिदृश्य के लिए उपयुक्त नहीं हो सकता है, लेकिन मुझे ऐसे मामले के बारे में सोचना मुश्किल है जहां यह काम नहीं करेगा। – cymorg