目前在我的项目中,我有 2 个母版页,它们使用的配色方案很好地称为红色和蓝色。根据调用子页面的方式,它将使用任一页面。我完成了大约 40 个子页面。
我现在需要将全局变量 (Request.ServerVariables["SERVER_NAME"]) 向下传递给我的子页面,以便他们通过主机标头知道他们在哪个服务器上。
由于我的子页面动态使用红色或蓝色母版页,因此每个页面的类名称空间必须相同。这会导致编译时发生冲突,因为 .net 无法区分两者。
我的第一次尝试是在我正在使用的站点库中设置它,但是 HTTP 请求变量超出了 cs 文件的范围,并且 DNS 名称不起作用,因为它们位于同一个 IIS 实例上。
选项 1 是在红色和蓝色之上添加一个母版页,但是我不确定如何处理红色和蓝色页面的 CSS 和控件。(在 R 和 B 中有 3 个内容标签 Head、Title 和 Form)。然后是如何将顶级主变量的内容获取到子aspx页面的问题。
选项 2 将 Data MasterPage 放在红色和蓝色下,但是我不知道如何告诉子页面使用哪个顶级页面(当前选择:if (Querystring !=null)
最终结果是这样的:
- 用户从 server1.ourservers.loc 打开 Child.aspx
- Red Master 用于渲染页面
- 从母版页检索“server1”,child.aspx 将数据发布到 WebService A
或者
- 用户从 server2.ourservers.loc 打开 Child.aspx
- Blue Master 用于渲染页面
- 从母版页检索“server2”,child.aspx 将数据发布到 WebService B
在任何情况下 server1 都不能发布到 WebService B 或 server2 发布到 WebService A
想法?有没有更简单的方法?