將其相對應的功能列表於下:
RegisterArrayDeclaration
使用陣列名稱和陣列值,向 Page 物件註冊 JavaScript 陣列宣告。
ScriptManager.RegisterArrayDeclaration(UpdatePanel1,"Hello",,"1,2,3");
RegisterClientScriptBlock
向Page物件註冊用戶端指令碼。最後一個參數若為true,則會自動加上<script></script>
ScriptManager.RegisterClientScriptBlock(UpdatePanel1,this.GetType(), "HelloWorld", "function helloWorld(){alert(1);}", true);
RegisterClientScriptInclude
向 Page 物件註冊用戶端指令碼 Include。
ScriptManager.RegisterClientScriptInclude(UpdatePanel1,this.GetType(),"HelloWorld",Server.MapPath("test.js"));
RegisterClientScriptResource
使用型別和資源名稱,向 Page 物件註冊用戶端指令碼資源。
ScriptManager.RegisterClientScriptResource(UpdatePanel1,this.GetType(),"test.js");
RegisterExpandoAttribute
將名稱/值組註冊為指定之控制項的自訂 (Expando) 屬性
ScriptManager.RegisterExpandoAttribute(UpdatePanel1,Button1.ClientID,"attributeName","attributeValue",true
RegisterHiddenField
向 Page 物件註冊隱藏值
ScriptManager.RegisterHiddenField(UpdatePanel1,"hiddenFieldName", "hiddenFieldIntialValue
RegisterOnSubmitStatement
使用類型、索引鍵和指令碼常值 (Literal),向 Page 物件註冊 OnSubmit 陳述式。當送出
HtmlForm 時,會執行該陳述式
ScriptManager.RegisterOnSubmitStatement(UpdatePanel1,this.GetType(),"test","return window.confirm('test'))
RegisterStartupScript
向 Page 物件註冊啟始指令碼
ScriptManager.RegisterStartupScript(UpdatePanel1,this.GetType(),"HelloWorld", "alert('The page has loaded!')",true);
除了利用上面這一些Method將Script註冊到Client外,在UpdatePanel的AsyncPostBack啟動前後都可以加上一個Script Function,會先去呼叫該Function,然後才去做AsyncPostBack。語法如下:
Me.Page.ClientScript.RegisterStartupScript(Me.GetType,"AjaxBeforeUpdatePanelLoad", "<script type='text/javascript'>Sys.WebForms.PageRequestManager.getInstance).add_initializeRequest(BeforeUpdatePanelLoad);</script>")
Me.Page.ClientScript.RegisterStartupScript(Me.GetType,"AjaxAfterUpdatePanelLoad", "<script type='text/javascript'>Sys.WebForms.PageRequestManager.getInstance).add_endRequest(AfterUpdatePanelLoad);</script>")
這樣一來我們就可以自己寫BeforeUpdatePanelLoad和AfterUpdatePanelLoad去做一些我們想要統一做的Script
沒有留言:
張貼留言