我正在开发一个 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,但是当我删除它时(只是为了测试,我必须使用更新面板),显示相同的错误,并且此时按钮位于页面的 html 代码上。