我尝试使用onserverclick,同时在我的按钮中使用了dojotype。
请参阅此代码。
<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(也提醒一些东西)。
<script runat="server">
void ButtonLogin_OnClick(object sender, EventArgs e)
{
//alert
}
</script>
我测试它。只有dojotype成功了。
任何人都可以向我解释或者我们可以同时使用吗?
答案 0 :(得分:2)
您需要连接dojo按钮的onClick以使用适当的参数调用_doPostback。 _doPostback由ASP.NET发出,这是用于触发回发并执行服务器端事件的机制。
答案 1 :(得分:0)
尝试在您的函数中添加返回。
但是如果您已经可以使用dojo,那么您应该使用它来防止此类问题,尤其是如果您确实针对多个浏览器。
答案 2 :(得分: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 };" />
答案 3 :(得分:0)
你不能同时拥有这两个!基本上,dojo和asp.net尝试替换onClick处理程序,因此你不会看到它们都成功。
最佳解决方案是在dojo点击处理程序中添加回发逻辑:
<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
答案 4 :(得分: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>
或者 你可以在Dojo点击事件上调用ButtonLogin_OnClick函数,这将同时触发两个事件......