我有一些像这样的代码
<asp:Button ID="cancelDummyButt" runat="server" CausesValidation="False"
Text="cancel" onclick="cancelDummyButt_Click" Enabled="True" />
(使用Javascript:)
buttid = '<%=cancelDummyButt.ClientID.ToString%>';
eltoclick = document.getElementById(buttid);
eltoclick.click();
未调用服务器端代码。怎么了?直到“点击”才行。调试的最佳方法是什么?
(这是为了从更新面板中的iframe获得正确的回发)
答案 0 :(得分:1)
<!-- start modal dialog div -->
<input type="button" onclick="__doPostBack('<%= btnDoIt.UniqueID %>','');" value="Do It!" />
<!-- end modal dialog div -->
<asp:Button id="btnDoIt" style="display:none;" runat="server"></asp:Button>
<!-- start modal dialog div -->
<input type="button" onclick="__doPostBack('<%= btnDoIt.UniqueID %>','');" value="Do It!" />
<!-- end modal dialog div -->
<asp:Button id="btnDoIt" style="display:none;" runat="server"></asp:Button>
答案 1 :(得分:1)
以编程方式调用控件的click()事件不触发事件处理函数。你需要手动调用它....
if(eltoclick.onclick())
eltoclick.click();
答案 2 :(得分:0)
首先,你在这一行中犯了一个错误:
buttid = '<%= cancelDummyButt.ClientID.ToString() %>';
我的建议是,将您的javascript代码放在后面的代码中,然后注册到这样的页面:
string script = string.Format("var buttid = '{0}';", cancelDummyButt.ClientID);
if (!ClientScript.IsClientScriptBlockRegistered("myScript"))
{
ClientScript.RegisterClientScriptBlock(typeof(_Default), "myScript", script, true);
}
答案 3 :(得分:0)
已解决 - 这是由模态jQuerywindow引起的!
(当然想要某种方式)
奥拉夫