从iFrame中查找母版页控件

时间:2013-10-22 04:44:00

标签: asp.net master-pages

情境:

我有一个主要母版页说 MasterPage1 。在那个母版页中我有一个分割器。在该拆分器中有一个 iframe 。在 iframe 中,我们加载另一个母版页,说“ MasterPage2 ”。在 MasterPage2 中,我们加载一个页面,在该页面上呈现不同的用户控件。

问题:

现在,我想从 MasterPage2 页面上加载的用户控件中找到 MasterPage1 的控件。

请帮忙......

1 个答案:

答案 0 :(得分:0)

您的情景问题:

masterpages和内容页面呈现为单个对象,因此页面类能够引用在两个对象(主页面和内容页面)中找到的每个元素。当您呈现iframe时,客户端请求iframe内容,因此不存在引用因此无法在服务器上互相引用。

解决问题的方法

从上面你必须意识到所有问题都是参考,所以你必须破解它。我能想到的最简单的方法是使用查询字符串。 使用包含标识符的查询字符串调用iframe页面,如mpage = mpage1,mpage = mpage2等。 现在在masterpage2中请求查询字符串以查找应用了哪个母版页并继续。这样你就不会有松弛,因为masterpage1内容不能改变,但是masterpage2可以。

现在,您需要更多地满足您的需求。只有在这是解决实际问题的唯一方法时才继续(我认为问题不是母版,而是问题的解决方案,让你做这些事情)。 那么你必须使用javascript和处理程序,它们将渲染并返回渲染的usercontrol。但我认真地说,不要在生产中使用此设置,并通过更改代码以使用usercontrol而不是iframe来找到其他替代方案。