我正在研究微软认证考试,考试中“内容”的一些措辞让我很困惑。在the MS exam website中,在开发Web表单页面下,它说明了考试内容......
此目标可能包括但不限于:页面指令,如ViewState,请求验证,事件验证,MasterPageFile;的ClientIDMode;
我的印象是页面指令引用了@Page关键字,而@Page部分中定义的关联值是属性/属性。但是考试内容的措辞几乎意味着@Page关键字的属性/属性是指令。
有人可以帮我解决这个问题吗?
答案 0 :(得分:2)
我认为他们的措辞有点令人困惑。你是正确的,指令中的值基本上是属性。实际上,您可以在对象模型中设置大多数这些AS属性(例如,在代码隐藏中)。
protected override void OnInit( EventArgs e )
{
this.EnableViewState = true;
this.MasterPageFile = "~/something.master";
this.Title = "Hello World";
}
除了Page
之外,他们的 几个重要指令,例如Import
和Control
。我建议你也熟悉这些。
c:\ windows \ Microsoft.Net \ Framework [版本] \临时ASP.Net文件\
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
private void @__BuildControlTree(content_shared_toolbarcontrol_ascx @__ctrl) {
System.Web.UI.IParserAccessor @__parser = ((System.Web.UI.IParserAccessor)(@__ctrl));
#line 1 "C:\dev\Web.UI\Content\Shared\ToolbarControl.ascx"
@__parser.AddParsedSubObject(new System.Web.UI.LiteralControl("\r\n<div class=\"toolbar\">\r\n "));
#line default
#line hidden
global::System.Web.UI.HtmlControls.HtmlGenericControl @__ctrl1;
#line 1 "C:\dev\Web.UI\Content\Shared\ToolbarControl.ascx"
@__ctrl1 = this.@__BuildControldivDelete();
#line default
#line hidden
#line 1 "C:\dev\Web.UI\Content\Shared\ToolbarControl.ascx"
@__parser.AddParsedSubObject(@__ctrl1);
#line default
#line hidden
#line 1 "C:\dev\Web.UI\Content\Shared\ToolbarControl.ascx"
@__parser.AddParsedSubObject(new System.Web.UI.LiteralControl("\r\n <div class=\"toolbarSpacer\"></div>\r\n <div class=\"toolbarButton\">"));
et cetera
我发现有趣的是,在Page指令中设置的属性不包含在这些自动生成的文件中。这使我相信完整性中的指令是在每个请求上处理的,并且不会与页面一起编译。
编辑#2:根据下面的BurningIce评论,我进一步深入研究。我相信指令属性可以描述如下。
指令中的每个属性都有以下一个或多个目的:提示编译器(例如代码隐藏路径),加载页面的提示(例如页面从哪个类继承) ),提示页面(如MasterPageFile)和/或要在创建的页面的每个实例上设置的属性(如标题)。
答案 1 :(得分:2)
页面指令是一组混合属性,您可以直接在Page-object本身和asp.net编译器的指令上设置。
此页面显示所有属性http://msdn.microsoft.com/en-us/library/ydy4x04a.aspx的列表。
页面引用:定义ASP.NET页面解析器和编译器使用的页面特定(.aspx文件)属性。
“”这些新页面将显示所有属性的列表,并对属性/属性进行一些解释:
上面提到的旧链接http://msdn.microsoft.com/en-us/library/ydy4x04a.aspx不再有用。对于所有寻求此信息的人来说,最新的链接目标是http://msdn.microsoft.com/en-us/library/t8syafc7(v=vs.100).aspx和http://msdn.microsoft.com/en-us/library/vstudio/ydy4x04a(v=vs.100).aspx。