ASP.NET打开新页面而不关闭原来的页面 实例代码

代码如下:

Respose.Write("<script     language='javascript'>window.open('"+     url     +"');</script>"); (打开简洁窗口):
Respose.Write("<script     language='javascript'>window.open('"     +     url     +     "','','resizable=1,scrollbars=0,status=1,menubar=no,toolbar=no,location=no,     menu=no');</script>");

1. Response.Redirect("XXX.aspx",true)——直接转向新的页面,原窗口被代替;
2. Response.Write("<script>window.open('XXX.aspx','_blank')</script>")——原窗口保留,另外新增一个新页面;
3. Response.Write("<script>window.location='XXX.aspx'</script>")——打开新的页面,原窗口被代替;
4. Server.Transfer("XXX.aspx")——打开新的页面;
5. Response.Write("<script>window.showModelessDialog('XXX.aspx')</script>")——原窗口保留,以对话框形式打开新窗口;
6. Response.Write("<script>window.showModelDialog('XXX.aspx')</script>")——对话框形式打开新窗口,原窗口被代替;
也可以自己写方法:


代码如下:

public static void ShowMessage(System.Web.UI.Page page, string msg)
{
    page.ClientScript.RegisterClientScriptBlock(page.GetType(), "a", "alert('" + msg.ToString() + "');", true);
}

调用的时候:
ShowMessage(this,"要显示的消息");
下面是整个类的代码你可以挑着用


代码如下:

using System;
using System.Collections.Generic;
using System.Text;
namespace WorkLogic
{
    /// <summary>
    /// 显示消息提示对话框。
    /// </summary>
    public class MessageBox
    {
        private MessageBox()
        {
        }
        /// <summary>
        /// 显示消息提示对话框
        /// </summary>
        /// <param name="page">当前页面指针,一般为this</param>
        /// <param name="msg">提示信息</param>
        public static void ShowMessage(System.Web.UI.Page page, string msg)
        {
            //page.RegisterStartupScript("message", "alert('" + msg.ToString() + "');");
            page.ClientScript.RegisterClientScriptBlock(page.GetType(), "a", "alert('" + msg.ToString() + "');", true);
        }
        public static void ShowMessage(System.Web.UI.UserControl control, string msg)
        {
            control.Page.ClientScript.RegisterClientScriptBlock(control.Page.GetType(), "b", "alert('" + msg.ToString() + "');", true);
        }
        /// <summary>
        /// 控件点击 消息确认提示框
        /// </summary>
        /// <param name="page">当前页面指针,一般为this</param>
        /// <param name="msg">提示信息</param>
        public static void ShowConfirm(System.Web.UI.WebControls.WebControl Control, string msg)
        {
            //Control.Attributes.Add("onClick","if (!window.confirm('"+msg+"')){return false;}");
            Control.Attributes.Add("onclick", "return confirm('" + msg + "');");
        }
        /// <summary>
        /// 显示消息提示对话框,并进行页面跳转
        /// </summary>
        /// <param name="page">当前页面指针,一般为this</param>
        /// <param name="msg">提示信息</param>
        /// <param name="url">跳转的目标URL</param>
        public static void ShowAndRedirect(System.Web.UI.Page page, string msg, string url, string frame)
        {
            StringBuilder Builder = new StringBuilder();
            Builder.Append("<script language='javascript' defer>");
            Builder.AppendFormat("alert('{0}');", msg);
            Builder.AppendFormat("top." + frame + ".location.href='{0}'", url);
            Builder.Append("</script>");
            page.ClientScript.RegisterStartupScript(page.GetType(), "message", Builder.ToString());
        }
        /// <summary>
        /// 输出自定义脚本信息
        /// </summary>
        /// <param name="page">当前页面指针,一般为this</param>
        /// <param name="script">输出脚本</param>
        public static void ResponseScript(System.Web.UI.Page page, string script)
        {
            page.ClientScript.RegisterStartupScript(page.GetType(), "message", "<script language='javascript' defer>" + script + "</script>");
        }
        /// <summary>
        /// 显示消息提示对话框,并进行页面跳转
        /// <param name="page">当前页面指针,一般为this</param>
        /// <param name="msg">提示信息</param>
        /// <param name="url">跳转的目标URL</param>
        public static void ShowAndRedirect(System.Web.UI.Page page, string msg, string url)
        {
            StringBuilder Builder = new StringBuilder();
            Builder.Append("<script language='javascript' defer>");
            Builder.AppendFormat("alert('{0}');", msg);
            Builder.AppendFormat("top.location.href='{0}'", url);
            Builder.Append("</script>");
            page.ClientScript.RegisterStartupScript(page.GetType(), "message", Builder.ToString());
       }
}
}

(0)

相关推荐

  • ASP.NET 窗体间传值的方法

    假设ParentForm.aspx 页面上有TextBox1文本框和Open按钮点击Open按钮弹出SubForm.aspx,SubForm.aspx页面上有TextBox1文本框和Close按钮点击Close按钮关闭SubForm.aspx页面,并把子页面SubForm.aspx文本框的值显示到父页面ParentForm.aspx 的文本框上.父窗体前台代码: 复制代码 代码如下: <script type="text/javascript">        functi

  • asp.net窗体的打开和关闭(输出js)

    复制代码 代码如下: //打开新的窗体 Response.Redirect("WebMain.aspx"); //弹出一个新窗体 Response.Write("<script>window.open(\"WebMain.aspx\")</script>") //弹出一个只有确定按钮的提示框 Response.Write("<script>alert(\"用户名或密码错误\");&

  • .NET实现父窗体关闭而不影响子窗体的方法

    一般而言,在传统的VB6中父子窗体(诸如"闪屏"窗体是"父窗体"加载内容,然后启动自动关闭,启动主窗体,是子窗体)的交互中,我们只需按照这样的逻辑"按部照搬"地书写即可(假设"闪屏"窗体设置为启动窗体): SplashScreen.Close() MainForm.Show() 但是在VB.NET或者C#中却不能这样写.因为这样写的结果是闪屏窗体"一闪而过",接着啥也不会出现了. 究其原因,是因为NET中一

  • asp.net下模态对话框关闭之后继续执行服务器端代码的问题

    最近做一个从Access项目向 Asp.net + SqlServer迁移工作,其中遇到了这种情况,在Access窗体的一个按钮事件中,代码大体上是这么个功能:弹出模态对话框,在关闭对话框之后继续走一段数据库操作代码. 在Asp.net里弹出模态对话框容易,但是在模态对话框关闭之后还要继续执行服务器代码,这就要求当对话框关闭之后页面要立即提交.于是有了以下的解决方法. 在Web Form中拖入服务器端按钮,并假设此按钮ID为 btnComput,在隐藏页面的 Page_Load 中用代码中这样写

  • asp.net子窗体与父窗体交互实战分享

    今天在项目上遇到了这个问题,其实只是window.returnValue的简单应用,不是asp.net的专属内容.作为积累,记录一个简单的实现模型. 图1  用到的文件 从图1中我们可以看到,只用到了两个页面,其中Default.aspx作为父页面,Default2.aspx作为子页面被弹出.Default.aspx页面上有两个TextBox一个Button,代码如下: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="

  • .NET中利用js让子窗体向父页面传值的实现方法

    子页面C#后台代码: 复制代码 代码如下: /// <summary>        /// 将设置好的值赋给父页面        /// </summary>        /// <param name="count">需要传递的值</param>        void SetValueToParentPage(int count, string strPersons)       {           StringBuilder

  • asp.net窗体操作总结

    1.打开新窗口 这个简单:response.write("<script language='javascript'>window.open('url');</script>"); 2.调整本窗口大小和位置 response.write("<script>window.resizeto(500,400);</script>"); response.write("<script>window.mov

  • asp.net后台关闭当前页面并传值的两种方法

    第一种: 复制代码 代码如下: Response.Write("<script>window.close();</script>");// 会弹出对话框询问是否关闭 第二种:          复制代码 代码如下: Response.Write("<script>window.opener=null;window.close();</script>");// 不会弹出询问 传值给父页面: 复制代码 代码如下: stri

  • asp.net Silverlight中的模式窗体

    其实在Silverlight中开发模式窗体并不难,比在Html里面用div来构造容易多了,但是要做到具有重用性和规范性还是要下一点工夫的.如果SL的开发朋友们想偷一点懒,直接用些现成写好的模式窗体代码的话,我在这里介绍一个SL的框架,叫SilverlightFX,里面就有一个Form类,只要你的xaml类继承了Form类就可以很方便地使用模式窗体了.具体方面可以参照他的sample工程,这里给出SilverlightFX的连接给大家 http://projects.nikhilk.net/Sil

  • 在.NET中利用委托实现窗体间通信

    对于窗体间简单的通信,采用VB6.0的方法就能满足我们的要求,但在一些架构设计复杂的应用中,这种方法就显得有点捉襟见肘了,同时该方法还有一个缺点,就是它仅仅对通过.NET窗体向导添加进去的窗体起作用,而对于自定义的窗体类型我们是无法添加到Forms对象集合中的.而且也和其它诸如构造函数传参等方法一样,会在窗体间大量互相引用各自的成员,造成了彼此之间存在着很大的耦合性,非常不利于窗体模块间的独立,这不符合良好软件设计模式的思想. 如果我们想在一个窗体中访问另一个窗体中自定义的成员,必须把该成员的可

随机推荐