.browser是什么? 浏览器定义文件 在运行时,ASP.NET 使用请求标头中的信息来确定发出请求的浏览器的类型。随后,ASP.NET 使用 .browser 文件来确定浏览器的功能,以及如何向该浏览器呈现标记。
<browser >有3个属性 ID parentID refID
我新建一个浏览器文件 自动生成代码如下
<!--
可在 <windir>/Microsoft.NET/Framework/<ver>/CONFIG/Browsers 中找到现有的浏览器定义
-->
<browsers>
<browser id="NewBrowser" parentID="Mozilla">
<identification>
<userAgent match="Unique User Agent Regular Expression" />
</identification>
<capture>
<userAgent match="NewBrowser (?'version'/d+/./d+)" />
</capture>
<capabilities>
<capability name="browser" value="My New Browser" />
<capability name="version" value="${version}" />
</capabilities>
</browser>
<browser refID="Mozilla">
<capabilities>
<capability name="xml" value="true" />
</capabilities>
</browser>
</browsers>
不要更改 ASP.NET 随附的浏览器定义文件,因为 Service Pack 可能会更新这些文件,从而改写您所做的更改。相反,您应该创建新的 .browser 文件,并在新的浏览器定义中使用 parentID 属性来继承设置,或者使用 refID 属性向现有的浏览器定义添加功能。 <browser >有3个属性 ID parentID refID 浏览器定义中必须定义 refID 属性,或者同时定义 id 和 parentID 属性。 ID 指定要定义的浏览器的唯一名称。 parentID指定要继承其设置的父浏览器定义的唯一名称。可以在当前浏览器定义中改写这些设置。父浏览器定义无需位于同一个浏览器定义文件中,但它必须在同一个应用程序或 %SystemRoot%/Microsoft.NET/Framework/version/CONFIG/Browsers 目录中定义。例如,WebTV 浏览器的以下定义在 WebTV.browser 文件中定义,而 IE2 父浏览器的定义在同一目录的 IE.browser 文件中定义。 <browser id=" WebTV " parentID=" IE2 "> refID 指定现有的浏览器定义标识符(必须存在于<windir>/Microsoft.NET/Framework/<ver>/CONFIG/Browsers中)。使用 refID 属性将新功能与现有的浏览器定义相关联。您可以将多个浏览器节点配置为引用相同的 refID。 <identification>定义有关如何从传入请求识别此浏览器的信息。 userAgent 指定作为请求的用户代理标头的匹配依据的表达式。例如,IE.browser 文件中包含的 IE4 浏览器的以下定义使用 "MSIE 4" 字符串,并根据随请求发送的用户代理标头来识别浏览器。 <identification> <userAgent match="MSIE 4" /> </identification>
<capture>定义以下信息:在捕获有关浏览器的信息时,使用哪些额外的 header、userAgent 或 capability 元素。 <capabilities>指定针对正则表达式匹配父浏览器类中的功能值 <capability>定义要为当前的浏览器定义设置的一个功能值。
另外一个浏览器文件 <browsers>
<browser refID="Default"> <controlAdapters> <adapter controlType="System.Web.UI.HtmlControls.HtmlForm" adapterType="FormRewriterControlAdapter" /> //这个可以自己写适配器 FormRewriterControlAdapter是自己写的类 </controlAdapters> </browser>
</browsers>
<controlAdapters>指定 ASP.NET Web 服务器控件与用于在当前浏览器中呈现该控件的适配器之间的映射。 例如,Nokia.browser 文件中包含的 NokiaMobileBrowserRainbow 浏览器的以下定义指定使用 MenuAdapter 控件适配器类来针对浏览器改编 Menu 服务器控件:
<controlAdapters markupTextWriterType="System.Web.UI.XhtmlTextWriter" > <adapter controlType="System.Web.UI.WebControls.Menu" adapterType="System.Web.UI.WebControls.Adapters.MenuAdapter"> </adapter> </controlAdapters>
adapter 元素中包含的必需属性有adapterType ,controlType。 adapterType 指定类的名称,该类用于更改针对浏览器改编控件的方式。 controlType 指定要映射到适配器的控件的名称。