2010-03-12 45 views
1

我有這個認真的:調用java腳本函數然後點擊ASP.NET按鈕後C#函數

我有ASP.NET頁面,這個頁面內容用ASP.NET控件更新面板。

我有Java腳本函數來做驗證,所以當我點擊按鈕時,我將使用onclientclick來調用java函數來進行驗證,並且在完成後,應該從代碼後面調用事件點擊按鈕函數。

我嘗試了vew方法,但它們不適合我。

這裏是我的代碼示例,我點擊按鈕onclientclick將調用Java腳本函數進行驗證,如果驗證是確定應調用onclick事件。

.................... java腳本功能 ..................... ...

<script type="text/javascript" > 

function add(){ 
if (tag == trye) { 


         document.getElementById('<%=btnInfor.ClientID%>').click(); 
         alert("DataAdded") 



        } 
        else { 

          alert("Requiered Field Missing.") 
         return false; 

        } 
} 

</script> 
..................... 
ASP.NET button 
................... 
<asp:Button ID="btnInfor" runat="server" Text="Add Information" Style="position: absolute; 
       top: 1659px; left: 433px;" 
       onclientclick="JavaScript: return myAdd()" /> 
.................... 
code behind in C# 
...................... 
protected void btnInfor_Click(object sender, EventArgs e) 
     {  
       \\mycode 

} 

回答

0

你有它設置的方式是,當你調用的document.getElementById(BUTTONNAME)。點擊()它保持調用javascript函數,並沒有真正到達你想要調用服務器端方法。

首先分配服務器端單擊事件處理程序:

<asp:Button ID="btnInfor" runat="server" Text="Add Information" Style="position: absolute; 
      top: 1659px; left: 433px;" OnClick="btnInfor_Click" 
      onclientclick="JavaScript: return myAdd()" /> 

然後在您的JavaScript函數,在如果分支返回true:

function add(){ 
    if (tag == trye) { 
     alert("DataAdded"); 
     return true; 
    } 
    else { 
     alert("Requiered Field Missing.") 
     return false; 
    } 
} 
0

我看到兩件事情會阻止C#代碼從被叫:

  1. JavaScript函數應該有return true;alert("DataAdded")
  2. 你需要「絲上」通過添加屬性按​​鈕,例如你的C#的事件處理程序... OnClick="btnInfor_Click"
相關問題