2009-04-07 19 views
6

एक मास्टर पृष्ठ में मैं निम्न मार्कअपशरीर runat = "सर्वर" के कारण संकलन त्रुटि

<body id="body" runat="server"> 

मैं runat="server" निर्धारित किया है क्योंकि मैं में कोड-पीछे शरीर तत्व का उपयोग कर सकेंगे करने की जरूरत है। (

<body id="body" runat="server" onload="someJavaScriptFunction();"> 

बहरहाल, यह "के प्रतीक someJavaScriptFunction को हल नहीं कर सकता है एक संदेश के साथ मेरी एक संकलन त्रुटि दे रहा है,):

मैं अब body onload घटना के लिए एक जावास्क्रिप्ट समारोह कॉल जोड़ने के लिए, इस तरह चाहते हैं , "। अगर मैं एप्लिकेशन चलाता हूं तो मुझे

Compiler Error Message: CS1026:) expected

यहां क्या चल रहा है? onload क्लाइंट-साइड इवेंट है, तो एएसपी.नेट कंपाइलर इस बारे में क्यों परवाह करता है?

उत्तर

15

आपको इसे कोड में जोड़ने की आवश्यकता है;

protected void Page_Load(object sender, EventArgs e) 
{ 
    body.Attributes.Add("onload", "someJavaScriptFunction();"); 
} 

किसी टैग से runat="server" जोड़ा जा रहा है यह एक सर्वर टैग बनाता है, भले ही यह स्पष्ट रूप से पहले से जुड़ा हुआ लोगों (जैसे <asp:Panel />) में से एक नहीं है। सर्वर टैग पर, onXXXX इवेंट हैंडलर सर्वर-साइड इवेंट्स को संभालते हैं, न कि क्लाइंट-साइड इवेंट्स (जब "क्लाइंट" को स्पष्ट रूप से बुलाया जाता है, जैसे कि ऑनक्लिएंट बटन के लिए क्लिक करें) को छोड़कर।

<head> 
    <script language="text/javascript"> 
    window.onload = function() { someJavaScriptFunction(); } 
    </script> 
</head> 

इसका कारण यह है एएसपी पृष्ठ में मौजूद कोड के भाग के रूप शरीर टैग के अंदर स्क्रिप्ट व्याख्या करने के लिए कोशिश कर रहा है क्या हो रहा है:

+0

ठीक है, मैं देख सकता हूं कि यह कैसे काम करेगा - लेकिन रनैट = "सर्वर" जोड़ने का मतलब है कि मुझे इस दृष्टिकोण का उपयोग करने की आवश्यकता है? –

+0

मुझे लगता है क्योंकि यह कोड के पीछे Body_SomeJavaScriptFunction विधि की तलाश में है, क्योंकि आपने इसे "सर्वर पर चलाने" के लिए कहा था? –

+0

सही ... मैंने आपके उत्तर इयान को जोड़ा, आशा है कि आपको कोई फर्क नहीं पड़ता :) –

3

यह भी स्थापित करने के लिए एक विकल्प है। हालांकि यह सी #/वीबी था ...

+0

यह प्रश्नों का उत्तर नहीं देता है "यहां क्या हो रहा है?" और "एएसपी.नेट कंपाइलर इस बारे में क्यों परवाह करता है?" – Cerebrus

+0

यह वह दृष्टिकोण है जिसे मैं अंत में अपने परिदृश्य में चला गया था। –

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