在我們開發的程式裏面,很多需要透過javascript來先進行資料的驗證(判斷欄位長度,輸入字元格式..)
有一些程式在完成輸入動作送出至伺服端之前先需透過javascript先行檢查
因此我們利用asp.net的linkbutton來完成資料送出至伺服器端的控制項(因為linkbutton是隱藏看不見的)

因為需觸發linkbutton的click事件來完成將網頁送出的動作
所以我們必需透過javascript程式來執行以下的事件。

window.document.getElementById("lbtnGO").click();

在我們遇到的例子中,不巧的是,這樣的事件觸發只允許在ie,
在其他瀏覽器並沒有辨法執行~試著以下的程式碼來取代原先的getElementById.click事件。 

__doPostBack('lbtnGO', '')

而doPostBack並非執行click事件,只是單純地把網頁submit回伺服器端,
因此我們需要在server端的Page_Load中再自行判斷,
在Page_Load的程式區塊中,加上Request.Form("__EVENTTARGET") 來判斷觸發的控制器來源。
可以試著用以下的程式碼來取代原先的click事件。 

If Page.IsPostBack = True Then 
        If Request.Form("__EVENTTARGET") ="lbtnGO" Then 
                ' 原先click事件的程式碼 
        End If 
End If
arrow
arrow
    全站熱搜

    湯瑪的吳 發表在 痞客邦 留言(2) 人氣()