从另一个aspx页面调用aspx,html页面

时间:2014-07-14 12:34:31

标签: c# asp.net

我有一个aspx页面,我想根据会话显示另一个aspx或html页面的内容。逻辑后面的代码将根据会话从特定位置获取文件。我不想使用框架,iframe,因为我必须确保跨浏览器兼容性。还有其他方法可以达到这个目的吗?

用户控制可能是解决此问题的方法。我想知道更多的替代方法。

以下是我的代码:

除了对外部js文件的引用外,我在aspx中没有任何内容。

代码背后:

private void Page_Load(object sender, System.EventArgs e)
        {
            _getMainMenu();

        }
protected string _getMainMenu()
{
  string HomePageMenu = string.Empty;
 string homeExist = Server.MapPath("../homepages/" + Session["ACCOUNT"].ToString() + "/HomePage.htm");
                if (File.Exists(homeExist ))
                {
                    HomePageMenu = "../homepages/" + Session["ACCOUNT"].ToString() + "/HomePage.htm";
                }
                else
                {
                    HomePageMenu = "../homepages/NewMenu.html";
                }
return HomePageMenu ;
            }

感谢。

2 个答案:

答案 0 :(得分:0)

听起来像jQuery load这样的东西可能会有所帮助。这将异步检索内容并将其置于您选择的控件中,当然不一定是iframe。这是从客户端调用的,但您可以让服务器端逻辑/会话状态确定返回的内容。

答案 1 :(得分:0)

您应该更改一般管理内容的方式。 在您的情况下,您的aspx页面就是您的内容。如果你想在一个aspx页面中显示一个aspx页面,那么你需要在另一个aspx页面中显示一个aspx页面。

更改观点:您的aspx页面应该只是您的内容持有者。将您的内容提取到ascx-usercontrol或将其存储在数据库中。

然后,您就可以在需要的时候获取内容。

在另一个内部显示一个aspx页面是一个非常糟糕的解决方案。

但如果无法改变内容的存储方式:我会优先选择iframe。