【发布时间】:2012-11-22 19:57:29
【问题描述】:
我正在开发一个 asp.net 应用程序,我需要在后面的代码上调用一个确认对话框。之后,我需要获得用户的点击(如果他点击了确定或取消)。
如果他点击对话框的确定按钮,我必须继续运行我在调用对话框之前停止的代码。
为了解决这个问题,我想在 aspx 中放置一个按钮类型的输入,并将其样式设置为可见性:隐藏。因此,当用户单击“确定”按钮时,程序将调用此隐藏按钮,该按钮调用的方法将继续停止工作。
我会发布我的代码,我希望它可能会有所帮助。
下面的代码在我的代码后面,它调用了确认对话框。
System.Web.UI.
ScriptManager.RegisterClientScriptBlock(this, GetType(), "__Mensagem", "if (confirm('" + CustomMessage + "')){document.getElementById(\'<%=btnSave.ClientID%>\').click();}", true);
下面的代码在我的 aspx 上,它是“隐藏”按钮。
<input style="visibility:hidden;" id="btnSave" runat="server" onclick="btnSave_Click"/>
我不知道为什么不起作用。单击确认对话框的按钮 OK 后收到的错误如下: Erro em tempo de execução do Microsoft JScript: 'document.getElementByID(...)' é nulo ou não é um objeto
我来自巴西,所以错误是葡萄牙语,翻译成英文是这样的:
“Microsoft JScript 'document.getElementByID(...)' 发生运行时错误为 null 或不是对象”
我查看了页面的 html 代码,发现按钮不存在。
可能是因为我使用的是UpdatePanel,但是当我删除它(只是为了测试,我必须使用Update Panel)时,显示了同样的错误,此时按钮位于页面的html代码上。
【问题讨论】:
标签: c# javascript asp.net