我制作了一个对话框,显示错误的密码或用户名错误,但这并没有关闭。 如何在不刷新页面的情况下关闭这个对话框,代码如下
<asp:Panel ID="errorMsg" runat="server" Visible="false">
<asp:Label ID="msg" Text="" runat="server"></asp:Label>
<asp:Label ID="errorHead" Text="Something is really Wrong :" runat="server"></asp:Label>
<asp:button ID="try" OnClick="try_Click" runat="server" Text="Try Again" />
</asp:Panel>
代码隐藏:
protected void try_Click(object sender, EventArgs e)
{
errorMsg.Visible = false;
}
errorMsg.visible 在输入错误时设置为 true,但再次设置为 false 后它不会关闭。
最佳答案
OnClick 事件将触发 PostBack 刷新页面。
您可以尝试使用 javascript:
<script text="text/javascript">
function hide(id){
if(id)
document.getElementById(id).style.display = "none";
}
</script>
<asp:Button ID="try" OnClientClick='hide("<%=errorMsg.ClientId%>")'
runat="server" Text="Try Again" />
或者您可以简单地用 Update Panel 包裹对话框.更新面板只允许您刷新网站的一部分。
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Panel ID="errorMsg" runat="server" Visible="false">
...
<asp:Button ID="try" OnClick="try_Click"
runat="server" Text="Try Again" />
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
关于c# - asp.net 如何在 asp 中使用页内链接关闭对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17915692/