傳輸影像至無線裝置的能力在建置有效的 ASP.NET Mobile Web 應用程式方面很重要。Image 控制項提供的功能可讓您指定想要顯示在無線裝置上的影像。
因為無線裝置的性質,單一影像檔對於所有的裝置不盡然適當。有些瀏覽器無法顯示特定影像格式,而且並非所有影像大小和色彩內容對所有裝置都適合。例如,格式化為 .gif 檔的影像將會顯示在能夠執行 HTML 的瀏覽器,但不會顯示在能夠執行 WML 的瀏覽器。對於能夠執行 WML 的瀏覽器,您需要格式化為 .wbmp 檔的影像。
藉由 Image 控制項,您可以指定多個影像檔;因此,您可以使用多種檔案格式來建立相同影像。控制項將會根據裝置特性選擇正確的影像檔。Image 控制項本身與您使用的影像檔類型無關。您可以使用與目標瀏覽器相容的任何影像檔類型。
正如程式碼的重複使用已經在應用程式設計方面成為有效的技術,影像的重複使用也是如此。藉由 Image 控制項,您可以從其中建立使用者控制項來重複使用影像。如需使用者控制項的詳細資訊,請參閱建立自訂 ASP.NET Mobile 控制項文件。
行動控制項語法
需要的屬性和具程式碼功能的項目以粗體樣式標註。
<mobile:Imagerunat="server"
id="id"
Font-Name="fontName"
Font-Size="{NotSet|Normal|Small|Large}"
Font-Bold="{NotSet|False|True}"
Font-Italic="{NotSet|False|True}"
ForeColor="foregroundColor"
BackColor="backgroundColor"
Alignment="{NotSet|Left|Center|Right}"
StyleReference="styleReference"
Wrapping="{NotSet|Wrap|NoWrap}"
AlternateText="AltText"
ImageUrl="masterImageSource"
NavigateURL="targetURL"
SoftkeyLabel="label">
Place DeviceSpecific/Choice construct here. (optional)
</mobile:Image>
內含項目規則
下列控制項可以包含 Image 控制項。
| 控制項 | 註解 |
|---|---|
| System.Web.UI.MobileControls.Form | 可以包含任何數目的 Image 控制項。 |
| System.Web.UI.MobileControls.Panel | 可以包含任何數目的 Image 控制項。 |
Image 控制項可以包含下列控制項。
| 控制項 | 註解 |
|---|---|
| System.Web.UI.MobileControls.DeviceSpecific | 逐一指定個別裝置的影像選擇。
Image 控制項中可以包含 0 或 1 個 DeviceSpecific 控制項。 |
裝置樣板
無
裝置的特定行為
當 Image 控制項在行動裝置上啟動時,控制項會評估裝置的能力。根據該評估,下列情形可能會發生:
- 如果裝置不能顯示影像,AlternateText 屬性 (Property) 中的文字會呈現為 Label 控制項。
- 對於能夠處理影像的裝置,控制項會特別為輸入裝置檢查註冊影像的 URI。若要尋找註冊的影像,控制項會在 Image 控制項內檢查 <DeviceSpecific> 子句。如果有一個存在,控制項即從符合的 <Choice> 子句來評估並擷取值。這個值可視為影像檔的 URI,並用以在裝置上呈現檔案。
無論呈現的是什麼,控制項都會從 Style 物件挑出對齊和文字屬性 (Property)。
使用 symbol: URL 配置
ImageUrl 屬性 (Property) 通常包含影像的 URL。然而,當 Image 控制項擷取 URL 時,它也會檢查對控制項發出信號表示裝置特定資訊的特定配置。這個配置或前置詞格式文字會發出信號指示控制項產生特定標記,以促使目標裝置顯示符合配置的內建影像。
symbol: 配置 (當作 ImageUrl 屬性 (Property) 值使用) 是 Image 控制項的信號,指示要尋找指定影像並將之顯示在目標裝置上。例如,在 i-mode 電話上,如果 ImageUrl 屬性 (Property) 的值為 symbol:63726,其將發出如 ,然後在目標裝置上呈現為心形圖示。
在支援圖像 (Glyph) 的 i-mode 和 WML 1.1 版電話上可以接受 symbol: 配置。
HTML 和 WML 的共通性
在 Run Time 中,Image 控制項通常會產生 <img> 標記,而其 src 屬性 (Attribute) 設定為選取的 Choice 值。alt 屬性 (Attribute) 會設為替代文字 (如果存在的話)。
如果 NavigateURL 屬性已指定,影像則會包含在適當呈現的 <a> 標記 (錨點) 之中。
Image 控制項不會在影像之後呈現 <br> 標記 (分行符號)。這可以讓影像彼此緊鄰來呈現。然而,如果想要模擬分行符號,您可以在影像之後插入空的 Label 控制項。
如果 Alignment 屬性 (Property) 已設定,Image 控制項會將 align 屬性 (Attribute) 設為該值。
注意 WML 裝置對影像大小有不同的限制。在繼續進行之前,請檢查您感興趣之裝置的規格。
範例
下列範例提供三個要由控制項根據裝置特性來選擇的替代影像。控制項會在沒有合適影像的情況下選擇替代文字。請用您的影像名稱代替以便執行控制項,並將裝置篩選條件加入至 web.config 檔。如需裝置篩選條件的詳細資訊,請參閱裝置的特定呈現。
<%@ Page Inherits= "System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<mobile:Form runat="server">
<mobile:Image runat="server" id="myImages" AlternateText=
"Sorry, this requested image cannot be displayed on this device.">
<deviceSpecific>
<choice Filter="IsColor"
ImageUrl="myColor.gif"/>
<choice Filter="Wml"
ImageUrl="myWMLImage.wbmp"/>
<choice ImageUrl="myColor.bmp"/>
</deviceSpecific>
</mobile:Image>
</mobile:Form>
請參閱
Image 類別 | Image 類別成員 | 控制項參考