2012-03-21 55 views
3

我嘗試使用onserverclick同時在我的按鈕dojotype。我可以同時使用dojotype和onServerClick嗎?

請參閱此代碼。

<button id="ButtonLogin" runat="server" onServerClick="ButtonLogin_OnClick" dojotype="dijit.form.Button" jsid="ButtonLogin" style="float: right; 
          padding: 5px 15px 0px 0px;"> 
          Login</button> 

所以基本上我有一次按鈕點擊(警報東西),將觸發一個無效ButtonLogin_OnClick。 並且dojotype也會觸發一個javascript(alert Something)。

<script runat="server"> 
void ButtonLogin_OnClick(object sender, EventArgs e) 
{ 
    //alert 
} 
</script> 

正如我測試它。只有dojotype成功了。

任何人都可以解釋給我或我們可以同時使用?

回答

0

嘗試添加一個返回到您的函數。

但是,如果您已經可以使用dojo,那麼您應該使用它來防止出現此類問題,特別是如果您的目標是多個瀏覽器。

+0

做( )重要嗎? – Bert 2012-03-21 08:30:59

+0

有時是的。特別是如果你使用IE – kromit 2012-03-21 08:33:03

2

您需要連接dojo按鈕的onClick以使用適當的參數調用_doPostback。 _doPostback由ASP.NET發出,並且是用於觸發回發並執行服務器端事件的機制。

0

雖然這可能不是直接關於dojotype這個例子可能會幫助你。我使用以下方式在提交時調用javascript和asp.net。

<asp:Button ID="btnSubmit" runat="server" Text="Send" OnClick="btnSubmit_Click" onclientclick="javascript:alert('A');" /> 

您可以檢查頁面是否執行JavaScript

<asp:Button ID="btnSubmit" runat="server" Text="Send" OnClick="btnSubmit_Click" onclientclick="javascript:Page_ClientValidate();if(Page_IsValid){ //Do stuff };" /> 
0

之前有效你不能兼得!基本上,dojo和asp.net嘗試替換onClick處理程序,所以你不會看到兩個成功。

最好的解決辦法是增加回傳邏輯在道場單擊處理:

<button id="ButtonLogin" runat="server" 
dojotype="dijit.form.Button" jsid="ButtonLogin" 
     style="float: right;padding: 5px 15px 0px 0px;"> 
         Login 
    <script type="dojo/method" data-dojo-event="onClick" data-dojo-args="evt"> 
    __doPostBack('ButtonLogin',''); 
    </script> 
</button> 

DD

+0

嘗試過,但仍然沒有運氣。即時通訊考慮因爲他們正在使用不同的形式和不能同時工作。 – Bert 2012-04-03 08:57:22

0

我覺得有語法問題,單擊事件不執行和功能不改爲調用'onServerClick',你可以嘗試'onserverclick'。可能這將解決你的問題......

試試這個代碼

<button id="ButtonLogin" runat="server" onserverclick="ButtonLogin_OnClick" dojotype="dijit.form.Button" jsid="ButtonLogin" style="float: right; 
          padding: 5px 15px 0px 0px;">Login</button> 

否則 可以調用ButtonLogin_OnClick功能上道場點擊事件,這將觸發事件都一起......

相關問題