在Visual Studio 2005中采用可视化的方式定义属性重写 Visual Studio 2005提供了一种可视化的方式来定义和应用设备筛选器,属性重写也不例外。当你想为某个控件应用属性重写时必须首先为该控件应用一个设备筛选器。给控件应用设备筛选器我在前面已经介绍过了,为了你巩固前面的知识,这里就将实现属性重写的整个过程均列举出来:
1. 通过"文件"-"新建网站"-"ASP.NET网站"新建一个站点。
2. 删除"Default.aspx"文件,在"解决方案资源管理器"中通过右键菜单的"添加新项"-"移动Web窗体"命令添加一个ASP.NET 移动页面。
3. 依然在"解决方案资源管理器"中通过右键菜单的"添加新项",通过"移动Web配置文件"为站点添加一个已包含若干个设备筛选器的Web.Config文件。
4. 拖拽一个Label控件中Form控件中,选中Label控件,并在属性窗口的(AppliedDeviceFilters)项处点击右侧的省略号按钮。
5. 在弹出的"已应用的设备筛选器"对话框中,通过选择"可用的设备筛选器"下拉列表框的各项将你想添加的设备筛选器通过"添加到列表"按钮逐个添加到"已应用的设备筛选器"列表中,最后点击"确定"按钮,这样就为该控件应用了设备筛选器。下图是我在该示例中添加的4个设备筛选器。
6. 选中Label控件,在属性窗口的(Property Overrides)项右侧点击省略号按钮,这时会弹出"属性重写"对话框。

7. 我们可通过"已应用的设备筛选器"下拉列表来查看该控件当前已应用的设备筛选器,现在我们就先选择isPocketIE("")为该设备筛选器设置属性重写,在本例中我们仅对该控件的Text属性进行重写,为此我们可用在Text属性处填写"使用isPocketIE设备筛选器进行属性重写"。各个设备筛选器的Text属性设置如下:
8. 为Label控件设置好各个设备筛选器的属性重写后,当客户端设备请求该页面时,如果浏览器是Pocket Internet Explorer的话,Label控件上将显示"使用isPocketIE设备筛选器进行属性重写"文本。如果是支持html 3.2标记语言的浏览器,Label控件上显示的是"使用isHTML32设备筛选器进行属性重写"。
该页面最终的代码如下:
<mobile:Form id="Form1" runat="server"> <mobile:Label ID="Label1" Runat="server"> <DeviceSpecific> <Choice Filter="isPocketIE" Text="使用isPocketIE设备筛选器进行属性重写" /> <Choice Filter="isHTML32" Text="使用isHTML32设备筛选器进行属性重写" /> <Choice Filter="isCHTML10" Text="使用isCHTML10设备筛选器进行属性重写" /> <Choice Text="使用默认的设备筛选器进行属性重写" /> </DeviceSpecific> </mobile:Label> </mobile:Form> |