为什么在设置@Page masterPageFile时不会隐含@MasterType指令?

8
@MasterType的文档中有以下示例。
<%@ Page  masterPageFile="~/MasterPage.master"%>
<%@ MasterType  virtualPath="~/MasterPage.master"%> 

为什么需要@MasterType?难道编译器不能只根据@Page masterPageFile自动采取相同的操作吗?什么情况下不需要同时使用它们两个?

+1 我自己也经常想过这个问题! - MPritchard
1个回答

2
您可以在每个页面的PreInit中设置不同的母版页。因此,母版页通常没有明确定义。

1
在这种情况下,我预计您不会使用任何指令,因为它是在运行时定义的,您也不会期望获得一个类型化的“Master”属性。问题实际上是针对那些在编译时已知主页面并使用指令的情况。 - Samuel Neff
但是只有一种情况。页面和母版页是松散耦合的。您可以在运行时更改母版页。MasterPage指令只是简单情况下的智能转换,您必须对其负全部责任。 - Dirk Brockhaus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接