下面的代码示例演示如何使用 Image 控件中的 <DeviceSpecific> 控件为不同设备指定不同图像。如果有名为 Sunshine.gif 的文件,它将出现在 Internet Explorer 中。如果在 WML 设备(如 OpenWave 电话)或 CHTML 设备上查看该页,它将显示为一个太阳图标。该页还显示浏览器的名称和图像的解析名称。
注意 |
|---|
| 下面的代码示例使用单文件代码模型,当它直接复制到代码隐藏文件时可能不能正常工作。此代码示例必须被复制到具有 .aspx 扩展名的空文本文件中。有关更多信息,请参见 ASP.NET 网页代码模型。 |
<%@ Page Language="C#"
Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
string spec1 = "Device: {0}";
string spec2 = "Image source: {0}";
if (!IsPostBack)
{
Label1.Text = String.Format(spec1, Device.Browser);
Label2.Text = string.Format(spec2, Image1.ImageUrl);
}
}
</script>
<html >
<body>
<mobile:form id="form1" runat="server">
<mobile:Image ID="Image1" Runat="server"
AlternateText="Sunshine">
<DeviceSpecific ID="imgDevSec" Runat="server">
<Choice Filter="isWML11"
ImageUrl="symbol:44" />
<Choice Filter="isCHTML10"
ImageUrl="symbol:63726" />
<Choice ImageUrl="sunshine.gif" />
</DeviceSpecific>
</mobile:Image>
<mobile:Label ID="Label1" Runat="server" />
<mobile:Label ID="Label2" Runat="server" />
</mobile:form>
</body>
</html>
下面是 Web.config 文件的 <deviceFilters> 节。
<deviceFilters>
<filter name="isWML11" compare="PreferredRenderingType" argument="wml11" />
<filter name="isCHTML10" compare="PreferredRenderingType" argument="chtml10" />
</deviceFilters>