Asp.Net-在Sever端向Client端註冊的常用方法收藏

  • 3409
  • 0
  • 2009-02-11

Asp.Net-在Sever端向Client端註冊的常用方法收藏

在Asp.net 服務端處理腳本,一般都用 ClientScriptManager ,即web窗體服務端的this.ClientScript。該對象比較常用的方法:
1、RegisterArrayDeclaration:在服務端,向客戶端生成一個數組定義
      服務端代碼:   this.ClientScript.RegisterArrayDeclaration("aAry", "1,2,3");
      客戶端“源文件”呈現:
<script type="text/javascript"> 
   <!-- 
         var aAry =  new Array(1,2,3); 
    // --> 
</script>

   

2、RegisterClientScriptBlock:向客戶端寫一個腳本塊,這種方式,不會自動在前后加上<script type="text/javascript">和</script>
      服務端代碼:this.ClientScript.RegisterClientScriptBlock(this.GetType(), "sblk", "var aa=1;");
      客戶端“源文件”呈現:var aa=1;
 
3、RegisterClientScriptInclude:在客戶端寫一個<script type="text/javascript" src=...></script>
      服務端代碼:this.ClientScript.RegisterClientScriptInclude("js", http://www.baidu.com/test.js");
      客戶端“源文件”呈現:
<script src="http://www.baidu.com/test.js" type="text/javascript"></script>
4、RegisterExpandoAttribute:本方法最少三個參數,即客戶端控件id、屬性名、屬性值,在客戶端生成一個為控件屬性賦值的語句
      服務端代碼:this.ClientScript.RegisterExpandoAttribute("form1", "formtype", "form");
      客戶端“源文件”呈現:
<script type="text/javascript"> 
   <!-- 
       var form1 = document.all ? document.all["form1"] : document.getElementById("form1");           form1.formtype = "form"; 
    // --> 
</script>


5、RegisterHiddenField:自動在客戶端生成一個<input type="hidden"...

      服務端代碼:this.ClientScript.RegisterHiddenField("hiddenField", "i'm a hidden");
      客戶端“源文件”呈現: 

 

<input type="hidden" name="hiddenField" id="hiddenField" value="i'm a hidden" />

 

6、RegisterOnSubmitStatement:在客戶端form的onsubmit事件中,自動添加指定的代碼

      服務端代碼:
      this.ClientScript.RegisterOnSubmitStatementthis.GetType),"onsubmit1","varonsubmit11=1;");
      this.ClientScript.RegisterOnSubmitStatementthis.GetType),"onsubmit2","varonsubmit22=2;");

      客戶端“源文件”呈現:首先為form指定事件處理程序,如:<form id=... onsubmit="javascript:return WebForm_Submit();"
      其次不論在服務端使用幾次RegisterOnSubmitStatement語句,均生成一個javascript function,並將每個RegisterOnSubmitStatement方法中的客戶端腳本連接作為該事件處理程序的語句:
<script type="text/javascript"> 
   <!-- 
       function WebForm_OnSubmit() ...{ 
         var onsubmit11=1;var onsubmit22=2; 
         return true; 
       } 
   // --> 
</script>


7、RegisterStartupScript:將制定的腳本代碼放到</form>前,並且,該方法送出到客戶端的代碼前后不會自動添加<script> 和</script>

      服務端代碼:this.ClientScript.RegisterStartupScript(this.GetType(), "testStartup", "var jjj=2");
      客戶端“源文件”呈現:var jjj=2
      如多次使用,則在客戶端也是順序連接