我正在攻读面向Web开发人员的Microsoft考试(asp.net 4.0),我遇到了这个问题:
您需要以编程方式应用名为Fabrikam的主题,以便它将应用于尚未定义的控件属性。换句话说,您不希望主题覆盖控件属性。以下哪个代码示例正确执行此操作?
(A)
void Page_PreInit(object sender, EventArgs e)
{
this.StyleSheetTheme = "Fabrikam";
}
(B)
public override String StyleSheetTheme
{ get { return "Fabrikam"; }
}*
选择选项B作为anwser。
为什么选项A不能作为答案,StyleSheetTheme不会覆盖控件属性?
答案 0 :(得分:0)
这是page_init事件,其中主题应用于控件
首先使用.aspx标记中设置的属性创建每个控件,然后分配存储在主题文件中的设置。这样,主题设置会覆盖相应的标记设置。 Unthemed属性保留.aspx文件中设置的原始值。
因此,如果您没有在Page_Init中分配主题,则它们将不会获得优先权,也不会覆盖现有的控制属性。