2011-09-22 112 views
0

我正在开发一个网页,其中包含4个不同的页面,这些页面将同时加载(使用ContentPlaceHolder)。主页正在加载多个页面

但是,当我在本地机器上测试网站时,一次只显示一个页面(取决于我输入的URL)。

有没有什么办法在页面加载,告诉主(或者浏览器?)加载所有4页,而不是只有从浏览器直接请求的页面?

+0

这没有意义。浏览器如何显示四页?你想让他们在4个不同的标签?如果是这样,这是客户端问题,并将用JavaScript来完成。多解释一下所需的结果,并显示您目前使用的代码以尝试完成此操作。 – David

+0

您是说您的母版页有4个不同的内容占位符,并且您希望每个页面载入不同的内容,每个内容来自不同的aspx页面?因为这不是主页面的工作方式。 –

+1

我正在考虑使用ContentPlaceHolder自己抓取页面,但一般都会误解主页面。出于某种原因,我认为主页面ContentPlaceHolder可以包含不同的.aspx页面,现在我知道它们显然不能。 – Gobbledigook

回答

1

主页面不能像显示其他页面的框架集一样工作,只能使用框架集显示单个页面。

您可以在母版页中拥有多个内容占位符,但所有内容仍来自同一页面。

如果您希望将内容放在单独的文件中,则应创建可包含在页面中的用户控件。

0

也许我不理解,但添加另一个页面,从添加新项目对话框中选择“Web窗体使用母版页”,然后在下一个窗口中选择您的母版页。尝试导航到您刚刚添加的页面。

0

我想你是误解了母版页,母版页没有加载任何东西。母版页定义了一些常见的布局(可能还有代码),然后创建子页面,只需要提供通过ContentPlaceHolder在母版页中定义的而不是的内容。

然后,您一次加载一个子页面。

1

听起来你应该使用iframe。上下文位置持有者的设计使单个页面可以根据共同的主题或背景(主页面)显示其内容。

您可以拥有多个上下文占位符,但它们必须由正在加载的页面填充。例如,1个母版页可以有一个菜单的占位符,另一个为内容,第三个为新闻源边栏,但使用母版页的aspx页必须定义所有3个占位符的内容。