ASP.NET/Page指令
< ASP.NET
ASP.NET页面除了标准HTML页面的内容,还有一些额外的特性。Page指令用于指出影响整个ASP.NET页面的特性。Page指令被包围在特殊的限定符内:
<%@ %>
脚本块在标准HTML页面是常见的,但包含属性runat="server"是不寻常的,该属性指示ASP.NET这个脚本块包含服务器端代码:
<script runat="server"> ' ASP.NET page code goes here Sub Page_Load()
End Sub </script>
form标签在HTML很常见,但在ASP.NET中包含属性runat="server"。
Page的属性
编辑Page指令 | 涵义 |
---|---|
Async | 指示页面是否以异步页的方式运行。默认值为 false。 |
AsyncTimeOut | 定义在处理异步任务时使用的超时时间间隔(以秒为单位)。默认值为 45 秒。 该值必须是整数。此属性仅对Page.RegisterAsyncTask()方法有效。 |
AutoEventWireup | 指示页的事件是否自动绑定。默认值为 true。ASP.NET页触发的事件,如Init, Load,PreRender等,在默认情况下,可以使用“Page_事件名称”的命名约定将页事件绑定到相应的方法,页面编译时,ASP.NET将查找基础此命名约定的方法,并自动执行该方法的代码。 |
CodeFile | 页引用的代码隐藏文件的路径。仅对编译的页有效。 |
contentType | contentType="text/html; charset=UTF-8" :指定编码方式。 |
EnableEventValidation | 如果为true,将验证POST请求,尝试阻止恶意创建的请求 |
EnableSessionState | 页的会话状态。启用会话状态则为 true;读取会话状态但不能进行更改则为 ReadOnly;否则为 false。默认值为 true。 |
EnableViewState | 是否在页请求之间保持视图状态。默认值为 true。 |
Inherits | 定义当前 Web 窗体所继承的代码隐藏类。该类是 System.Web.UI.Page 的派生类。指定了要执行的代码在aspx.cs文件中的位置。这个属性只用于采用代码隐藏方式编写的 Web 窗体。 |
Language | 指定页中的所有内联呈现(<% %>和<%= %>)、代码声名块编译使用的语言。可以是任何.NET Framework支持的语言。每页只能使用和指定一种语言,但一个工程可以使用多种语言。 |
MasterPageFile | 设置内容页的母版页或嵌套母版页的路径。支持相对路径和绝对路径。可以在页面的PreInit事件中动态设置同名的属性实现动态切换母版页的功能。 |
Session | "false",页面不保存session。 |
用于post数据以后定位浏览器 | |
Theme | 指出使用App_Themes文件夹下哪个主题文件夹。其中的样式表.css文件会被自动应用。 |
Trace | 是否启用跟踪。默认值为 false。启用跟踪对页面调试非常有用,我们可以调用Page.Trace对象的方法输出一些有价值的诊断信息。Page.Trace.Write()采用默认字体输出,Page.Trace.Warn()采用红色字体输出。 |
ValidateRequest | 是否应发生请求验证。如果为true,请求验证将根据具有潜在危险的值的硬编码列表检查所有输入数据。默认值为 true。 |
web.config的全局设置
编辑在web.config中为参数指定一个全局的默认值:
<pages enableViewState="false" enableSessionState="false">
<controls>
<add tagPrefix="fish" tagName="MainMenu" src="~/Controls/MainMenu.ascx" /> <!--这是用户控件的注册-->
</controls>
<namespaces>
<add namespace="MyMVC" /> <!--导入命名空间-->
</namespaces>
</pages>
ASP.NET刷新页面后自动滚动到原来位置
编辑需要修改下面3处:
设置Page中的属性MaintainScrollPositionOnPostback为true
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" MaintainScrollPositionOnPostback="true" Inherits="Default.Default" %>
设置web.config配置文件中的Pages节点中的MaintainScrollPositionOnPostback属性为true(网站级或目录级)。注:修改网站根目录下的web.config则所有的页面均会受影响,若只修改某个目录下的web.config文件则只影响这个目录中的页面:
<pages maintainScrollPositionOnPostBack="true"></pages>
在页面的code页面,通过后台代码设置page的MaintainScrollPositionOnPostback属性为true:
Page.MaintainScrollPositionOnPostBack = true; //或this.MaintainScrollPositionOnPostBack = true;