2012-12-11 108 views
2

是否可以在一个aspx页面下将不同的aspx文件合并或引入内容?但是,我希望在不将aspx转换为ascx的情况下实现它,因此不需要用户控制。将多个asp.net页面合并为一个页面

注:我愿意使用客户端脚本,如Javascript或Jquery。不,这不是重复的of

编辑:即使这似乎是一个糟糕的设计理念,这是我想要的功能。所有页面应该成为单个页面的内容,忽略所有单独的CSS和Javascript。

回答

3

简短的回答是,你不能这样做,如果你已经达到了你需要这样做的程度,那么你的网页设计就很糟糕。为什么?由于整个页面不仅包含内容,还包含CSS,JavaScript,标题,标题等,这些内容都是独一无二的,您不能与其他页面混合在一起,解决javascript和css冲突等问题。例如。 该页面的最终标题是什么?等等。

,你有另一种选择是:

  • 使用iframe's
  • 使用的代码背后动态渲染页面,并添加它的占位符。
2

您可以使用HTML frameset将页面划分为不同的框架,每个框架都可以有一个ASPX页面作为其源。

+0

的标签不支持HTML5。 –

+0

@KeyBrdBasher相当正确,但框架的渲染正在[定义](http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#frames-and-framesets)为HTML5,所以我希望它可以在所有当代浏览器中运行。 –

0

除Aristos和michielvoo建议的方法外,另一种方法是使用JQuery .load()方法。为页面显示不同的内容持有者,并使用JQuery选择器将这些页面的HTML内容设置为内容持有者。

命中率。到jQuery文档

此方法是从server.When取数据的 成功的响应被检测.load()设置 匹配元素的所返回的数据的HTML内容的最简单的方法。

$('#result').load('ajax/test.html'); 
+1

.load方法将加载包括asp.net隐藏字段在内的所有html。其中包含视图状态的值。并且您的页面可能会中断,因为会有多个隐藏字段,并且名称_hidded –

+0

同意!它甚至会导致在使用帧时不会发生的Css冲突,但是,这也是实现目标的一种方式(并非完美,而是一种方式)。 –

+0

摆脱这种冲突的一种方法是把你的CSS和脚本放在主页上。创建一个像div一样的容器并仅加载该div。如下所示$('#result')。load('ajax/test.html #container'); –

0

你可以简单地追加页面给对方,我这样做是为全国Craigslist的搜索。

我所有的结果添加到一个单一页面,则我认为在浏览器

您可以使用一个列表框,浏览器控制该页面,然后将文字附加到一个单一的文件

相关问题