Asp.net 我可以延迟窗口打开吗?
这是我的基本问题 用户单击保存按钮。Asp.net 我可以延迟窗口打开吗?,asp.net,javascript,ajax,updatepanel,Asp.net,Javascript,Ajax,Updatepanel,这是我的基本问题 用户单击保存按钮。 使用Ajax通过代码隐藏保存内容。 然后打开一个新窗口,从数据库加载内容 我只需要一种方法,不打开窗口,直到内容已保存。现在它会立即打开一个新窗口,内容还没有全部保存 有什么想法吗 编辑: 对不起,我想我应该说得更清楚些。我正在使用asp.net updatepanel,单击按钮会触发更新面板,将一些信息保存到数据库中,然后我想打开一个新窗口“预览”这些新数据。这就是我所拥有的,它不会断裂,但也不会打开新的窗口 protected void lnkPrevi
使用Ajax通过代码隐藏保存内容。
然后打开一个新窗口,从数据库加载内容 我只需要一种方法,不打开窗口,直到内容已保存。现在它会立即打开一个新窗口,内容还没有全部保存 有什么想法吗 编辑:
对不起,我想我应该说得更清楚些。我正在使用asp.net updatepanel,单击按钮会触发更新面板,将一些信息保存到数据库中,然后我想打开一个新窗口“预览”这些新数据。这就是我所拥有的,它不会断裂,但也不会打开新的窗口
protected void lnkPreview_Click(object sender, System.EventArgs e)
{
temp1 control = UpdatePanel1.ContentTemplateContainer.FindControl("template") as temp1;
control.saveContent();
string script = "<script language='javascript'>window.open('/preview.aspx', '_blank');</script>";
this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(),"ClientScriptStuff", script);
}
protectedvoid lnkPreview\u单击(对象发送方,System.EventArgs e)
{
temp1 control=UpdatePanel1.ContentTemplateContainer.FindControl(“模板”)作为temp1;
control.saveContent();
string script=“window.open('/preview.aspx','\u blank');”;
this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(),“ClientScriptStuff”,script);
}
将window.open()函数设置为来自AJAX结果的回调。将window.open()函数设置为来自AJAX结果的回调。您的AJAX调用允许您有一个完成回调,该回调将在服务器应答时执行
您需要调用窗口。在那里打开。
有关更多详细信息,请向我们显示您的代码
但是,要小心弹出窗口拦截器。您的AJAX调用允许您有一个完成回调,该回调将在服务器应答时执行
您需要调用窗口。在那里打开。
有关更多详细信息,请向我们显示您的代码
但是,,谨防弹出式拦截器。< /P> < P>使用Ajax方法获取保存的响应,并在收到保存确认后打开窗口。 < P>使用Ajax方法获取保存的响应,并在收到保存确认后打开窗口。 < P>我会考虑立即打开一个空白/备选内容窗口。用户操作,然后在回调完成时设置窗口位置。这样,你应该对弹出块更有免疫力。 我会考虑在用户操作上立即打开一个空白/替代内容窗口,然后在回调完成时设置窗口位置。通过这种方式,您应该更不受弹出窗口阻塞的影响。在ajax完成后使用回调将db内容加载到模式窗口中
使用jQuery和插件的示例如下:
我只想指出,您应该在上面的代码段中添加一个错误回调。您还应该防止多个表单提交。在ajax完成后使用回调将db内容加载到模式窗口中
protected void lnkPreview_Click(object sender, System.EventArgs e)
{
//Save the page content
//Open a page to preview the changes
ScriptManager.RegisterClientScriptBlock(UpdatePanelName, typeof(Page), "previewPage", "window.open('/preview.aspx');", true);
}
使用jQuery和插件的示例如下:
我只想指出,您应该在上面的代码段中添加一个错误回调。您还应该防止多个表单提交。这不会由用户操作启动,因此可能会被弹出窗口阻止程序阻止。这不会由用户操作启动,因此可能会被弹出窗口阻止程序阻止。我不会使用window.open()。还有其他更方便用户的选择。我不想使用window.open()。还有其他更为用户友好的替代方案。我知道你在做什么,但我正在尝试从updatepanel执行。我知道你在做什么,但我正在尝试从updatepanel执行。
protected void lnkPreview_Click(object sender, System.EventArgs e)
{
//Save the page content
//Open a page to preview the changes
ScriptManager.RegisterClientScriptBlock(UpdatePanelName, typeof(Page), "previewPage", "window.open('/preview.aspx');", true);
}