天天看點

java script asp.net_為ASP.NET控件添加常用的JavaScript操作

1.為button控件添加确認功能要想為伺服器控件添加用戶端的事件,需要用到Attributes屬性JavaScript

1.為button控件添加确認功能

要想為伺服器控件添加用戶端的事件,需要用到Attributes屬性。Attributes屬性是所有的伺服器控件都有的一個屬性,它用來為最終生成的HTML添加自定義的一些标記。假設Web Form上有一個儲存按鈕btnSave,希望在使用者點此按鈕時提示使用者是否确實要儲存(比如一旦儲存就無法恢複等),則應在Page_Load事件中添加如下代碼:

1

要注意的是‘return’,這是不可省的,否則即使使用者點了取消,資料仍然會儲存。

2.為Datagrid中的每一行添加Javascript事件

Datagrid中的子控件是沒辦法直接通路的,要實作上面的那種效果,我們需要用到Datagrid的OnItemDataBound事件。OnItemDataBound事件發生在Datagrid的每一行資料綁定到Datagrid之後(即一行激發一次)。首先在Datagrid的聲明中添加OnItemDataBound屬性,如下:

此處說明OnItemDataBound事件發生時調用ItemDataBound方法,在代碼後置檔案中添加此方法的定義:

sender,System.Web.UI.WebControls.DataGridItemEventArgs e)

java script asp.net_為ASP.NET控件添加常用的JavaScript操作
java script asp.net_為ASP.NET控件添加常用的JavaScript操作

{

java script asp.net_為ASP.NET控件添加常用的JavaScript操作
java script asp.net_為ASP.NET控件添加常用的JavaScript操作

由于Datagrid的标題行和腳注行也會激發此事件,是以首先判斷激發此事件的行不是标題行和腳注行。這裡假設btnSave按鈕位于Datagrid的第3列(第一列是0)。

3.在Javascript中觸發伺服器端控件事件

讓我們再來考慮第一個執行個體,我們為儲存按鈕增加了确認功能,隻有在使用者确認後才會執行儲存操作,使用者不确認的話就不執行,如果我們想要使用者按下“取消”時,執行另外的操作怎麼辦呢?這就要需要用JS來回調(PostBack)伺服器端控件完成操作。

目前頁面中有一個DropDownList控件ddlTest,Button按鈕btnSave.當選擇ddlTest時觸發onchange事件,儲存目前的選擇值,在儲存前會讓操作者先确認,使用者确認則儲存,否則轉向default.aspx頁。

在Page_Load事件中添加如下代碼:

1

);2

;3

, strCMD );4

這段代碼執行後生成的select控件将是這樣:

1

ConfirmUpdate函數如下

1

ConfirmUpdate(cmd){3

java script asp.net_為ASP.NET控件添加常用的JavaScript操作

if(confirm("Are you sure to update?"

))4

java script asp.net_為ASP.NET控件添加常用的JavaScript操作

   {5

java script asp.net_為ASP.NET控件添加常用的JavaScript操作

       eval(cmd);6

java script asp.net_為ASP.NET控件添加常用的JavaScript操作

    }7

java script asp.net_為ASP.NET控件添加常用的JavaScript操作

else

8

java script asp.net_為ASP.NET控件添加常用的JavaScript操作

    {9

java script asp.net_為ASP.NET控件添加常用的JavaScript操作

        window.location.href="default.aspx" target="_blank" rel="external nofollow"

10

java script asp.net_為ASP.NET控件添加常用的JavaScript操作

    }11

java script asp.net_為ASP.NET控件添加常用的JavaScript操作

   }12

java script asp.net_為ASP.NET控件添加常用的JavaScript操作

這裡利用了Javascript eval函數來調用一個字元串中包含的指令。需注意的是包含指令的字元串不能用單引号括起來,因為自動生成的腳本中包括單引号,是以這裡用兩個雙引号表示字元串本身的雙引号。

本文由來源 21aspnet,由 system_mush 整理編輯,其版權均為 21aspnet 所有,文章内容系作者個人觀點,不代表 Java架構師必看 對觀點贊同或支援。如需轉載,請注明文章來源。