【问题标题】:Load a second ASP.NET page into codebehind [closed]将第二个 ASP.NET 页面加载到代码隐藏中 [关闭]
【发布时间】:2014-06-11 13:02:11
【问题描述】:

我有一些我想尝试的东西,但不确定实现它的最佳途径。我有一个页面,比如 default.aspx,它创建了一些内容。我还有第二个页面,比如 input.aspx,它创建了一个小选择框。此框将通过 ajax 在 default.aspx 上的更改上加载。但是,我还需要这个框来初始加载 default.aspx 的代码隐藏。

示例: 1.default.aspx代码隐藏创建内容并在代码隐藏中加载input.aspx 2. default.aspx 和 input.aspx 上的字段更改通过 ajax 使用 Jquery 进行更改

但是,我似乎找不到将第二个 ASP.NET 页面加载到初始页面的代码隐藏中的最佳方法。我正在考虑使用 HttpWebRequest 对象,但不确定语法。任何帮助将不胜感激。

谢谢!

应@Mbeckish 的要求

下面逐步概述了我需要做的事情

  1. default.aspx 加载从代码隐藏生成的内容

  2. 同样在代码隐藏中,加载了一个选择框(我现在在单独的 input.aspx 文件中有它。这是我需要帮助的步骤。)

  3. default.aspx 响应返回并显示在客户端

  4. 用户更改 default.aspx 上的表单值

  5. input.aspx 提供的选择是从服务器重新加载的(我目前使用 JQuery ajax 请求来允许这样做)

【问题讨论】:

  • 如果想让选择框出现在default.aspx页面,为什么要放在单独的页面(input.aspx)?
  • @mbeckish 我需要能够在 default.aspx 的 onchange 事件中对 input.aspx 页面进行 ajax。
  • 可以,可以使用jquery来操作default.aspx中的html。
  • @mbeckish 我不需要使用 jquery 操作 html 客户端,我需要 ajax 使用服务器端代码从数据库中提取的页面。这就是为什么我有一个单独的 input.aspx 页面,用于 ajax 目的。
  • 你能解释一下“ajax a page”是什么意思吗?您试图实现的事件顺序是什么? 1) 用户访问 default.aspx 2) 用户在 default.aspx 上编辑一个字段 3) ???

标签: c# asp.net httprequest httpresponse


【解决方案1】:

听起来您的第二个页面“input.aspx”实际上应该是一个 UserControl(.ascx 文件),您可以在 default.aspx 页面中动态加载(使用 Page.LoadControl(...))。

【讨论】:

  • 我可以在 onchange 事件中通过 jquery ajax 控件吗?
  • @steventnorris 您可以使用 UpdatePanel 而不是 jQuery AJAX 来获得控制并避免完全回发。通常,当您为页面创建可重用的 sn-ps 时,会将它们放在用户控件中,而不是作为页面。
  • 谢谢。 UpdatePanel 是否适用于 ASP.NET 2.0?另外,您愿意给出一个小例子和/或一些教程的链接吗?我以前没用过更新面板。
【解决方案2】:

你需要添加一个 iframe 到 default1.aspx 并将它的 src 属性设置为另一个页面

<iframe src="otherPage.aspx"></iframe>

http://www.w3schools.com/tags/tag_iframe.asp

【讨论】:

  • iframe?那些不是很久以前就走上坟墓的路了吗?
  • @steventnorris iframe 仍然存在。但是,如果您更喜欢现代方法,请使用 html5 中的 object 标签。看到这个:stackoverflow.com/questions/8702704/…
  • Embed 是一个支持 HTML5 的标签。不幸的是,我需要为 IE7 编写代码。
  • @steventnorris 那么我猜你将不得不使用 iframe
猜你喜欢
  • 2014-05-29
  • 2012-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多