Asp.Net_ 服務端向客戶端寫JavaScript腳本

在Asp.net 服務端處理腳本,通常都用 ClientScriptManager ,即web窗體服務端的this.ClientScript。該對象比較經常使用的方法:javascript

一、RegisterArrayDeclaration:在服務端,向客戶端生成一個數組定義java

      服務端代碼:   this.ClientScript.RegisterArrayDeclaration("aAry", "1,2,3");web

      客戶端「源文件」呈現數組

<script type="text/javascript">
<!--
var aAry =  new Array(1,2,3);
// -->
</script>this

二、RegisterClientScriptBlock:向客戶端寫一個腳本塊,這種方式,不會自動在先後加上 <script type="text/javascript">和</script>.net

      服務端代碼:this.ClientScript.RegisterClientScriptBlock(this.GetType(), "sblk", "var aa=1;");orm

      客戶端「源文件」呈現:var aa=1;對象

三、RegisterClientScriptInclude:在客戶端寫一個<script type="text/javascript" src=...></script>事件

      服務端代碼:this.ClientScript.RegisterClientScriptInclude("js", "http://www.baidu.com/test.js");ip

      客戶端「源文件」呈現:<script src="http://www.baidu.com/test.js" type="text/javascript"></script>

四、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>

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

      服務端代碼:this.ClientScript.RegisterHiddenField("hiddenField", "i'm a hidden");

      客戶端「源文件」呈現:

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

 

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

      服務端代碼:

   this.ClientScript.RegisterOnSubmitStatement(this.GetType(), "onsubmit1", "var onsubmit11=1;");
   this.ClientScript.RegisterOnSubmitStatement(this.GetType(), "onsubmit2", "var onsubmit22=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>

七、RegisterStartupScript:將制定的腳本代碼放到</form>前,而且,該方法發送到客戶端的代碼先後不會自動添加<script> 和</script>

      服務端代碼:this.ClientScript.RegisterStartupScript(this.GetType(), "testStartup", "var jjj=2");

      客戶端「源文件」呈現:var jjj=2

相關文章
相關標籤/搜索