Page.ClientScript.RegisterStartupScript(Page.GetType(),null,”<script>MyMethod();</script>”)

Page.ClientScript.RegisterStartupScript( Page.GetType(), null, “<script>ShowMsgTest();</script>” ,false);

มี 4 พารามิเตอร์

    type ก็คือ ที่ register script เรา( แต่ลองใช้ type อย่างอื่นมันก็ได้ ????)

    key ก็คือ keyสำหรับ script  ไม่ใช้ก็ใส่ null

    script คือ script เราครับ

    addScriptTag ถ้าเป็น true ก็ไม่ต้องใส่ <script></<script> ครอบใน Script เราครับ

Page .ClientScript .RegisterStartupScript( Page.GetType(), null, “ShowMsgTest();” ,true);

//—————

หากไม่อยาก Include Javascript หน้า html ลองใช้ ตอน โหลดก็ได้ครับ Page.ClientScript.RegisterClientScriptInclude( Page.GetType(), null,./js/JScript.js” );แต่มันไม่ยอมทำงานถ้า มันอยู่ใน IsPostBack ครับ ????

protected void Page_Load(object sender, EventArgs e){        if (!Page.IsPostBack) {            Page.ClientScript.RegisterClientScriptInclude( Page.GetType(), null,“./js/JScript.js” );       }}

//——————ปล. แต่ก็ระวังเรื่องการใช้ Script ชื่อเดียวกัน ใน page มันจะแสดงได้แค่อันเดียวครับ เช่น

 

protected void Button2_Click( object sender, EventArgs e ) {

    Page.ClientScript.RegisterStartupScript( this.GetType() , null, “<script>ShowMsgTest();</script>”, false );    Page.ClientScript.RegisterStartupScript( this.GetType(), null, “<script>ShowMsgTest();</script>”, false ); }

จะแสดง แค่ 1 MessageBox ครับ ซึ่งถ้าอยอากให้แสดง 2 อันเลยต้องใส่ key ให้มันครับ

    Page.ClientScript.RegisterStartupScript( this.GetType() , msg1“, “<script>ShowMsgTest();</script>”, false );     Page.ClientScript.RegisterStartupScript( this.GetType(),  msg2“, “<script>ShowMsgTest();</script>”, false );เราอาจตรวจสอบว่า script เราเคย register ไปแล้วยังได้จาก   Page.ClientScript.IsStartupScriptRegistered

ลองไปศึกษาดูนะครับ

—————————————————————————————

คุณ อาจต้องลอง เปลี่ยน วิธีการเรียกใช้ ดูครับ

Protected Overrides Sub OnInit(ByVal e As System.EventArgs)MyBase.OnInit(e)    ‘อันนี้เพิ่มไปใน header html

    Dim inc As New HtmlGenericControl(“script”)     inc.Attributes.Add(“type”, “text/javascript”)    ‘Default.aspx อยู่ ที่เดียวกับ folder js

    inc.Attributes.Add(“src”, “./js/JScript.js”)    Me.Page.Header.Controls.Add(inc)

    ‘อันนี้เพิ่มไปใน body html แล้วแต่ชอบ

    ‘Page.ClientScript.RegisterClientScriptInclude(Page.GetType(), “mySrc”, “./js/JScript.js”)

End Sub

 ตอนเรียกก็เหมือนเดิมครับ..Page.ClientScript.RegisterStartupScript(Page.GetType(), Nothing, “MyMethod();”, True)

ปล. ผม Overrides OnInit เพื่อที่จะได้ไม่ต้องไป register บ่อยๆๆ คือ มันจะอยู่ใน Page.IsPostBack ไม่ได้อะครับ**

 *** ส่วนแหล่งที่มา ค่อนข้างเยอะครับ search ใน google key Page.Header + javascript + register + asp.net ดูครับ