我有一个ASP.Net WebForm(EntryForm.aspx),它由文本框填充,供用户填充,并传递给数据库。我的客户希望用户单击一个按钮和一个弹出窗口,打开此弹出窗口中的entryform文本框(addressTextBox.txt)中的所有信息,作为用户阅读和确认的格式化页面。如果正确,用户将单击将关闭弹出窗口的确认按钮,返回到原始窗体并填充确认字段,然后允许用户继续执行窗体的下一步。如果单击取消按钮,则只需关闭弹出窗口,用户就可以编辑其原始条目。
好的所以我决定尝试使用ASP面板和javascript来显示/隐藏面板。这看起来最简单。我发现了一个很好的脚本,似乎做了我想要的但有问题。
我正在使用Site.Master,所以我假设我将脚本函数放在页面的内容区域中。如此
<asp:Content ContentPlaceHolderID ="MainContent" runat="server">
<script type =" text/javascript">
function ShowPanel()
{
var panel = document.getElementById("<%=ConfirmPanel.ClientID%>");
panel.style.display = 'block';
return false;
}
</script>
然后我称之为
<asp:Button ID="SubmitInfoButton" runat="server" Text="Submit Entry"
OnClientClick="return ShowPanel();"/>
但面板从未在屏幕上显示。 有什么建议吗?
再次感谢
答案 0 :(得分:1)
由于它位于同一页面上,因此最好使用javascript处理此问题。
在表单上放置一个按钮,显示隐藏的div(绝对定位为z-index)。
然后,使用javascript,将值复制到div内的标签。在隐藏的div中,你可以放置一个按钮,再次隐藏div(你的确认按钮)并填充字段(或启用“continue”按钮)。
答案 1 :(得分:0)
当我在我的应用程序中完成此操作之前,我已经使用了Ajax工具包中的ModalPopupExtender控件,我强烈建议您也这样做。模态弹出窗口实际上只是一个面板,其中有一些css应用于它以使其显示为模态。一个优点是你只需要使用.net C#或VB代码来处理所有事情而不必乱用javascript。另一个优点是,使用模态弹出窗口而不是浏览器弹出窗口看起来更专业。但是,如果您要坚持使用javascript,我会尝试从OnClientClick="return ShowPanel();"
删除单词return,如果这不起作用,只需在后面的代码中注册javascript,然后通过按钮的click事件调用它代码背后。