我的网页中有多个输入文本框参数,而按钮的“提交”则会加载多个iframe。在第一次提交时,iframe正确加密。问题是,当它已经加载时,当我再次单击“提交”按钮时,会重新加载iframe并导致浏览器模糊。当按钮点击时已加载iframe时,如何停止加载iframe 我的代码为
<asp:LinkButton ID="lnkBTNSubmit" runat="server" OnClick="lnkBTNSubmit_Click" OnClientClick="return validate();">
</asp:LinkButton>
我的.cs代码
protected void lnkBTNSubmit_Click(object sender, EventArgs e)
{
SetReportsUrlsToIFrame(ObjSharedEntities.RequestID);
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "ScriptRegistration", "setVisibility('hide', 'inline');", true);
}
有什么建议吗?
答案 0 :(得分:0)
尝试将此作为OnClick方法
protected void lnkBTNSubmit_Click(object sender, EventArgs e)
{
if(ViewState["iframesDisplayed"] == null || !(bool)ViewState["iframesDisplayed"])
{
SetReportsUrlsToIFrame(ObjSharedEntities.RequestID);
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "ScriptRegistration", "setVisibility('hide', 'inline');", true);
ViewState["iframesDisplayed"] = true;
}
}
答案 1 :(得分:0)
如果要在iframe已加载时禁用该按钮,则只需将该按钮设置为禁用。
protected void lnkBTNSubmit_Click(object sender, EventArgs e)
{
SetReportsUrlsToIFrame(ObjSharedEntities.RequestID);
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "ScriptRegistration", "setVisibility('hide', 'inline');", true);
lnkBTNSubmit.Enabled=false;
//or lnkBTNSubmit.Visible=false;
}
但是,如果您需要按钮按常用工作,并且页面中没有刷新(模糊),答案是:没有办法。
原因很简单,当然你知道,我把它放在这里只是为了让我的答案完整
当您单击提交按钮时,html(aspx)页面将回发到服务器,您的浏览器将变为空。当服务器收到您的回发时,它将根据您的请求生成另一个更新的页面,并将新页面发送到您的浏览器。当您的浏览器收到新页面时,它会显示新内容
在此过程中,浏览器中显示的内容将更改如下:旧页面 - &gt;空 - &gt;新的一页。所以你看到模糊和刷新。