Csharp/C#教程:如何在没有刷新ASP.NET Web窗体中的当前页面的情况下打开另一个选项卡?分享 2021年12月31日 上午11:48 • C#开发 • 阅读 0 如何在没有刷新ASP.NET Web窗体中的当前页面的情况下打开另一个选项卡? 我希望能够点击一个按钮,在点击时打开另一个标签。 在我的情况下,这是使用两个ASP.Net控件完成的,一个带有 标签的asp literal将其格式化为提交按钮,因为我需要它具有一些POSTfunction。 asp literal的代码如下所示: 使用给定的URL和_blank打开新选项卡。 我这次使用另一个asp控件,一个LinkButton ,在点击时运行一个事件,并用javascript代码触发提交asp literal的点击。 它看起来像这样: Do stuff 在DoStuff事件中,我需要运行一些代码,它使用上面提到的代码填充asp literal ,并在完成后触发,点击提交按钮,使用openWindowButton ID,如下所示: function InvokeReportFormClick() { document.getElementById("openWindowButton").click(); return false; } 使用ScriptManager.RegisterStartupScript方法添加单击代码。 一切都运行良好,LinkButton填充文字,然后点击它,文字打开一个选项卡。 唯一的问题是页面被重新加载,我想避免这种行为。 我在脚本结束时尝试了返回false,但是如果我只从javascript方法返回false,如上所示,页面仍然重新加载,我认为这是因为生成的单击asp literal 。 我可以添加我在asp literal输入的onclick事件上添加return false,如下所示: 但它停止打开我需要的标签。 我也尝试将asp:Linkbutton放在UpdatePanel控件中,如下例所示: Do stuff 但它仍然刷新页面,因为我仍然从asp literal点击猜测。 如果我在LinkButton旁边添加asp文字,页面不刷新,但我得到一个错误说 未捕获的TypeError:无法读取null的属性“click”。 我想这是因为页面没有重新加载,并且当单击操作发生时,页面中没有加载asp literal文本。 如何停止重新加载页面,并仍然保持这些按钮的相同function? 最好的祝福! 编辑 我已经注意到由asp literal提交的提交按钮不会重新加载表单,因为只需手动点击它就会打开新选项卡。 所以这种情况下的主要问题只是让asp LinkButton不会触发页面重载。 在.cs文件中,我使用此方法注册我的脚本,点击LinkButton后运行,如asp.net论坛上所建议: RegisterStartupScript(Page page, Type type, string key, string script, bool addScriptTags) 在我意识到我使用了ScriptManager.RegisterStartupScript的错误重载之后,此问题得以解决。 我正在使用将Page作为第一个参数的方法(可以在这里找到),并且在我尝试使用以参数为参数的方法之后 正在注册客户端脚本块的控件 在msdn文档中,并作为控件发送LinkButton,它实际上工作。 该页面不再重新加载。 我希望这可以帮助有同样问题的人。 上述就是C#学习教程:如何在没有刷新ASP.NET Web窗体中的当前页面的情况下打开另一个选项卡?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)! 本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。 ctvol管理联系方式QQ:251552304 本文章地址:https://www.ctvol.com/cdevelopment/1016646.html C#开发 赞 (0) 0 生成海报 Csharp/C#教程:从存储过程返回多个表分享 上一篇 2021年12月31日 Csharp/C#教程:如何将lambda表达式传递给WCF服务?分享 下一篇 2021年12月31日 精彩推荐 Csharp/C#教程:Windows Phone:如何判断Deployment.Current.Dispatcher.BeginInvoke何时完成?分享 2021年12月24日 Csharp/C#教程:生成可以调试的Web.Debug.config分享 2021年11月21日 Csharp/C#教程:将前缀添加到xml节点分享 2021年11月12日 Csharp/C#教程:Repeater在PostBacks上丢失了它的数据分享 2021年12月26日 Csharp/C#教程:如何更新ObservableCollection的现有元素?分享 2021年12月29日 Csharp/C#教程:C#hex到char分享 2021年12月25日 Csharp/C#教程:将操作数作为sql参数传递分享 2021年12月30日 Csharp/C#教程:装载组件无法正常工作分享 2022年1月10日 Csharp/C#教程:将DisplayTemplate设置为WebGrid列分享 2021年11月17日 Csharp/C#教程:在C#中使用Linq或lambda从数据库中的表中获取X个随机元素分享 2021年12月22日 Csharp/C#教程:结合两个Linq lambda表达式分享 2021年11月13日 Csharp/C#教程:关系的数据结构分享 2021年12月31日