日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

前台为html后台是asp在vs2012中建立什么,Asp.net中后台*.cs与前台JS脚本之间相互调用的几点心得...

發布時間:2025/3/12 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 前台为html后台是asp在vs2012中建立什么,Asp.net中后台*.cs与前台JS脚本之间相互调用的几点心得... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Asp.net中后臺*.cs與前臺JS腳本之間相互調用的幾點心得

< type="text/javascript"> < type="text/javascript">

一、 經 常需要在asp.net中“后臺代碼*.cs文件中調用javascript腳本中已經定義好的腳本函數”。

基本包括一下幾種辦法:

1. 用Response.Write() 方法寫入腳本:

比如在單擊按鈕后,先操作數據庫,完了后顯示已經完成,可以在最后想調用的地方寫上:

Response.Write("" );

這個方法有個缺陷就是不能調用腳本文件中的自定義的函數,只能調用內部函數,具體調用自定義的函數只能在Response.Write寫上函數定義,比如:Response.Write ("" );

2. 用ClientScript 類動態添加腳本:

用法如下:在想調用某個javascript腳本函數的地方添加代碼,注意要保證MyFun已經在腳本文件中定義過了。

ClientScript.RegisterStartupScript (ClientScript.GetType (), "myscript ", " ");

例子:StringBuilder sb = new StringBuilder();

sb.Append("

sb.Append("Button2_onclick('" + serverPath + "')");

sb.Append("");

ClientScript.RegisterStartupScript(this.GetType(), "LoadPicScript", sb.ToString());

這個方法比Response.Write更方便一些,可以直接調用腳本文件中的自定義函數。

3. 普通的添加控件的Attributes 屬性:

對于普通按鈕就是: Button1.Attributes.Add ("onclick " ,"MyFun(); " );

只能在Onload中或類似于onload的初始化過程中添加才有效。而且是先執行腳本函數,無法改變執行順序。

注意,以上所有方法中,后臺代碼都不能有轉化當前頁的代碼,比如Redirect等,要把轉頁代碼放在腳本里面。

4.定義Literal控件

用法如下:

Literal lit=new Literal();

lit.text="";

this.page.Controls.Add(lit);

5.OnClientClick??? (vs2003不支持這個方法)

client_click() 就是javascript的一個方法。

二、當然有時候也需要在“前臺JS執行或調用后臺的一些方法函數”,很多時候都會想到Ajax來解決,最近剛好總結了一個不用Ajax卻很簡單實用的方法:

1. 這里以Table中的行刪除為例,如果table中的標簽內容是從后臺取出后在render到前臺的話,行中的刪除按鈕可以寫成JS觸發方式:

view plaincopy to clipboardprint?

刪除

刪除

2. 所調用的前臺js函數為:

view plaincopy to clipboardprint?

function onRowdataDelete(rowid, gname, gid) {

if (confirm("-----------------------------------------\r\n 用戶組ID:\"" + gid + "\"\r\n 用戶組名稱:\"" + gname + "\"\r\n-----------------------------------------\r\n------- 確認要將以上用戶組刪除嗎? -------" )) {

document.getElementById("delid" ).value = rowid;

document.getElementById("delgid" ).value = gid;

document.getElementById("del_btn" ).click ();

}

else {

}

}

function onRowdataDelete(rowid, gname, gid) {

if (confirm("-----------------------------------------\r\n 用戶組ID:\"" + gid + "\"\r\n 用戶組名稱:\"" + gname + "\"\r\n-----------------------------------------\r\n------- 確認要將以上用戶組刪除嗎? -------" )) {

document.getElementById("delid" ).value = rowid;

document.getElementById("delgid" ).value = gid;

document.getElementById("del_btn" ).click ();

}

else {

}

}

3. 前臺*.aspx 中增加如下隱藏定義:

view plaincopy to clipboardprint?

< asp:HiddenField ID ="delid" runat ="server" />

< asp:HiddenField ID ="delgid" runat ="server" />

< asp:Button ID ="del_btn" style ="display : none ;" runat ="server" OnClick ="delbtn_click" />

< asp:HiddenField ID ="delid" runat ="server" />

< asp:HiddenField ID ="delgid" runat ="server" />

< asp:Button ID ="del_btn" style ="display : none ;" runat ="server" OnClick ="delbtn_click" />

4. 后臺*.cs 中相應的onclick 事件:

view plaincopy to clipboardprint?

protected void delbtn_click(object sender, EventArgs e){

//可以直接獲取刪除行的相關參數:delid.Value, delgid.Value

//在此執行你的業務邏輯,比如這里是刪除的方法函數

}

protected void delbtn_click(object sender, EventArgs e){

//可以直接獲取刪除行的相關參數:delid.Value, delgid.Value

//在此執行你的業務邏輯,比如這里是刪除的方法函數

}

5. 簡要注解:

在刪除的js方法被激發后會先執行confirm,確認后會將傳入的幾個參數分別賦給*.aspx前臺頁面中的相應隱藏值,便于后臺取值。最后出發*.aspx頁面中隱藏的button單擊事件,進而開始調用其后臺的單擊事件,執行后臺的方法函數。

(注意*.aspx中Button在隱藏是不能使用visible=false,這樣會使得 getElementById時無法找到此控件 )

轉載于:https://www..com/songjianpin/archive/2012/04/24/2468759.html

總結

以上是生活随笔為你收集整理的前台为html后台是asp在vs2012中建立什么,Asp.net中后台*.cs与前台JS脚本之间相互调用的几点心得...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。