IE8不支持模态窗口的问题

           前几天开发Web系统的时候,发现IE对模态窗口支持不怎么友好,在模态窗口中的提交事件会引发再一次打开原来的页面。

后来在网上找了一下,好一点的解决方法都是用Iframe框架来完成的。但是如果要打开多个模态页面的话,就可能要多个Iframe的框架页面。比较郁闷,不过后来想的了一个更好点的方法,只要用一个模态页面就全部搞定,呵呵,所以列出了给有同样需要的人参考。

 

方法如下:

 

第一:新建一个Iframe的框架页面VGAMesosphere.aspx。

前台代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="VGAMesosphere.aspx.cs" Inherits="AssetSys_VGAMesosphere" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>KM_System</title>
</head>
<body>
    <form id="form1" runat="server">
    <div id="idDiv" runat="server">
   
    </div>
    </form>
</body>
</html>

 

后台代码:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;

public partial class AssetSys_VGAMesosphere : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string AllUrl = Request.RawUrl;
        int Indx = AllUrl.IndexOf('?');
        string url = AllUrl.Remove(0, Indx + 5);//获取最终要访问的模态页面地址
        StringBuilder Html = new StringBuilder();
        Html.Append("<iframe id='iframeTo' src='" + url + "' scrolling='auto' style='width:600px;height:450px'></iframe>");
        idDiv.InnerHtml = Html.ToString();

    }
}

在要打开模态页面的地方这样处理:首先让它访问中间页面,并将要打开的模态页面地址(包括它的参数)作为一个参数传给中间页面。这样就OK了。

如:Response.Redirect("VGAMesosphere.aspx?url=../shishi.aspx?p1=laksdjf&p2=alskjdflalaks&p3=1233453");

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值