.net 嵌入在框架页面内弹出新窗口方法介绍

简介: 在App_Code中添加下面一个静态类ResponseHelperusing System;using System.

在App_Code中添加下面一个静态类ResponseHelper

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;

/// <summary>
///ResponseHelper 的摘要说明
/// </summary>
public static class ResponseHelper
{

    public static void Redirect(string url, string target, string windowFeatures)
    {

        HttpContext context = HttpContext.Current;

        if ((String.IsNullOrEmpty(target) || target.Equals("_self", StringComparison.OrdinalIgnoreCase)) && String.IsNullOrEmpty(windowFeatures))
        {

            context.Response.Redirect(url);

        }

        else
        {

            Page page = (Page)context.Handler;

            if (page == null)
            {

                throw new InvalidOperationException("Cannot redirect to new window outside Page context.");

            } url = page.ResolveClientUrl(url); string script; if (!String.IsNullOrEmpty(windowFeatures))

            { script = @"<script>window.open(""{0}"", ""{1}"", ""{2}"");</script>"; }

            else
            {

                script = @"<script>window.open(""{0}"", ""{1}"");</script>";

            }

            script = String.Format(script, url, target, windowFeatures);

            page.RegisterStartupScript("", script);

        }

    }

}

 

以下是在页面,比如一个按钮事件中,传递参数并打开一个新窗口

string url = "khbtj_print.aspx?dw=" + Server.UrlEncode(this.ddlDW.SelectedItem.Value.Trim()) + "&mc=" + Server.UrlEncode(this.ddlgcmc.SelectedItem.Value.Trim()) + "&dt1=" + Server.UrlEncode(dt1.ToString()) + "&dt2=" + Server.UrlEncode(dt2.ToString());

ResponseHelper.Redirect(url,"_blank", "");

 

相关文章
|
6天前
|
API 网络安全 数据安全/隐私保护
.NET邮箱API发送邮件的方法有哪些
本文介绍了.NET开发中使用邮箱API发送邮件的方法,包括SmtpClient类发送邮件、MailMessage类创建邮件消息、设置SmtpClient属性、同步/异步发送、错误处理、发送HTML格式邮件、带附件邮件以及多人邮件。AokSend提供高触达发信服务,适用于大规模验证码发送场景。了解这些技巧有助于开发者实现高效、可靠的邮件功能。
|
6天前
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
|
6天前
|
开发框架 JavaScript 前端开发
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
114 4
|
6天前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
43 0
|
6天前
|
开发框架 .NET 中间件
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
|
6天前
|
开发框架 .NET C语言
LabVIEW中使用.NET方法时出现错误1316
LabVIEW中使用.NET方法时出现错误1316
17 4
|
6天前
|
人工智能 自然语言处理 算法
分享几个.NET开源的AI和LLM相关项目框架
分享几个.NET开源的AI和LLM相关项目框架
|
6天前
|
开发框架 网络协议 .NET
深入.net框架
深入.net框架
14 0
|
6天前
|
算法 BI API
C#/.NET/.NET Core优秀项目和框架2024年1月简报
C#/.NET/.NET Core优秀项目和框架2024年1月简报