Page.ClientScript.RegisterStartupScript() Method

Page.ClientScript.RegisterStartupScript() Method काफी हद तक RegisterClientScriptBlock() Method की तरह ही काम करता है। लेकिन दोनों के बीच जो मुख्‍य अन्तर है वो ये है कि RegisterStartupScript() Method, हमारे Custom JavaScript Code को Resultant ASP.NET Page के Bottom में Embed करता है, जबकि RegisterClientScriptBlock() Method हमारे Custom JavaScript Code को Resultant Output Page के Top में Embed करता है। जबकि इन दोनों ही Functions का Syntax भी निम्नानुसार समान ही होता है:

RegisterStartupScript( type, key, script )
RegisterStartupScript( type, key, script, script tag specification )

हम समझ सकते हैं कि हालांकि दोनों ही Methods समान काम करते हुए Custom JavaScript Code को Page में Embed करने का काम करते हैं, लेकिन दोनों Methods द्वारा Page में Insert किए जाने वाले JavaScript Codes की Location में अन्तर होता है, जिसके परिणामस्वरूप हमारे Page की Performance प्रभावित होती है और Best Practices के अनुसार हमें हमेंशा अपने JavaScript Codes को Page के Bottom में ही Place करना चाहिए।

क्योंकि सामान्‍यत: JavaScript Codes का प्रयोग करते हुए Page के DOM Elements को ही Access व Manipulate किया जाता है, इसलिए हमें जहां तक सम्भव हो RegisterStartupScript() Method का ही प्रयोग करना चाहिए।

क्योंकि यदि हम हमारे JavaScript Codes को अपने Page के Top में Place करते हैं, तो हो सकता है कि हमारा JavaScript Code किसी ऐसे DOM Element को Access करने की कोशिश करे, जो कि Page के DOM Structure के पूरी तरह से Create हुए बिना उपलब्ध ही नहीं होगा और उस स्थिति में JavaScript Error Generate होता है।

जबकि JavaScript Function को Page के Bottom में Insert करने का मतलब यही है कि पूरे Page का DOM Structure Create हो जाने के बाद ही JavaScript Function को Insert किया जाएगा, जिसकी वजह से JavaScript Function यदि Page के DOM Structure को Access करना चाहता है, तो Page का प्रत्येक Element उसके द्वारा Access किए जाने के लिए उपलब्ध होता है।

अत: यदि हम हमारे पिछले Example को ही निम्नानुसार Modify करते हुए उसमें RegisterClientScriptBlock() Method को RegisterStartupScript() Method से Replace कर दें-

[code]
File Name:Default.aspx
<%@PageLanguage="C#"
AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
<script runat="server">
protectedvoid Page_Load(object sender, EventArgs e)
{
   string myScript = @"function AlertHello() { alert('Hello ASP.NET'); }";
   Page.ClientScript.RegisterStartupScript
   (
      this.GetType(), "MyScript", myScript, true
   );
}
</script>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/x html">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<button id=“btnClickMe"onclick="AlertHello();">Click Me</button>
</form>
</body>
</html>
[/code]

तो इस Code की स्थिति में हमारा Resultant Output Page पिछले Page के समान ही होगा और काम भी समान प्रकार से करेगा, जहां “Click Me” Button को Click करने पर एक Alert Box Display होगा, लेकिन जब हम इस Resultant Page के Markup Source Code को देखते हैं, तो ये Code कुछ निम्नानुसार होता है:

[code]
File Name:Default.aspx
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/x html">
<head><title>
</title></head>
<body>
<formmethod="post"action="Default.aspx" id="form1">
<divclass="aspNetHidden">
<inputtype="hidden"name="__VIEWSTATE" id="__VIEWSTATE" value="rOpKrfQ1U+Y7zDXzbboJpPuH3RFRhAinhT81Z6IRLDmWN/Z+2CuWBTbPcutkRCHlUG1ufxr0+IWcfwrHSD9I1mSZs1LQXZp9/uMy99mmsZo="/>
</div>
<button id=“btnClickMe"onclick="AlertHello();">Click Me</button>
<scripttype="text/javascript">
//<![CDATA[
function AlertHello() { alert('Hello ASP.NET'); }//]]>
</script>
</form>
</body>
</html>
[/code]

Core ASP.NET WebForms in Hindi - BccFalna.com: TechTalks in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Core ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Core ASP.NET WebForms in Hindi | Page:647 | Format: PDF

BUY NOW GET DEMO REVIEWS