1、使用Framework所支援的方法註冊指令碼,
(1)RegisterArrayDeclaration 向頁面輸出數組的定義
(2)RegisterClientScriptBlock 輸出指令碼(緊跟這from)
(3)RegisterClientScriptInclude 添加指令碼的引用
(4)RegisterClientScriptResource 從程式集中擷取資源
(5)RegisterExpandoAttribute 為控制項添加額外的屬性
(6)RegisterHiddenField 添加隱藏控制項
(7)RegisterOnSubmitStatement 可以添加一段語句,返回一個值,如為True則下次提交才會成功
(8)RegisterStartupScript 向頁面輸出指令碼(緊跟著/from)
現在可以使用scriptmanage下面的方法替代
2、UpdatePanel 屬性1:RenderMode 分為兩個值:Block為用DIV包含內容,Inline為用span包含內容
3、UpdateMode屬性:也分為兩個值:Always所有的動作都重新整理內容,Conditional僅內部活觸發的控制項重新整理
4、ChildrenAsTriggers:是否發送非同步請求,如設定false則不能再把UpdateMode設為Always會導致異常
5、Triggers設定觸發updatepanel的控制項
6、 ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(this.Button1);
ScriptManager.GetCurrent(this).RegisterPostBackControl(this.Button2);
代碼中設定觸發
protected void Button1_Click(object sender, EventArgs e)
{
this.UpdatePanel1.Update();
}
7、UpdateProgress中可以設定AssociatedUpdatePanelID制定觸發的updatepan,DisplayAfter設定延遲時間,DynamicLayout指定隱藏時是否佔位
錯誤處理:服務端
8、ScriptManager中的AllowCustomErrorsRedirect屬性:遇到錯誤是否根據web.Config中的設定跳轉
9、AsyncPostBackError事件:非同步重新整理中出現錯誤時觸發的事件。
1 protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
2 {
3 ScriptManager.GetCurrent(this).AsyncPostBackErrorMessage = e.Exception.Message;
4 }
10、AsyncPostBackErrorMessage屬性:用戶端接收到的錯誤資訊
用戶端:
響應PageRequestManager的endRequest事件
將errorHandled屬性設為true。
1 Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function(sender, e)
2 {
3 e.set_errorHandled(true);
4 $get("error").innerHTML = "Sorry, an error has occurred: " + e.get_error().message;
5 setTimeout(function(){ $get("error").innerHTML = ""; }, 3000);
6 });