DeviceSpecificChoice Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Caution
The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.
Provides a single choice within a DeviceSpecific/Choice construct. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET.
public ref class DeviceSpecificChoice : System::Web::UI::IAttributeAccessor, System::Web::UI::IParserAccessor
[System.Web.UI.MobileControls.PersistName("Choice")]
public class DeviceSpecificChoice : System.Web.UI.IAttributeAccessor, System.Web.UI.IParserAccessor
[System.Web.UI.MobileControls.PersistName("Choice")]
[System.Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")]
public class DeviceSpecificChoice : System.Web.UI.IAttributeAccessor, System.Web.UI.IParserAccessor
[<System.Web.UI.MobileControls.PersistName("Choice")>]
type DeviceSpecificChoice = class
interface IParserAccessor
interface IAttributeAccessor
[<System.Web.UI.MobileControls.PersistName("Choice")>]
[<System.Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")>]
type DeviceSpecificChoice = class
interface IParserAccessor
interface IAttributeAccessor
Public Class DeviceSpecificChoice
Implements IAttributeAccessor, IParserAccessor
- Inheritance
-
DeviceSpecificChoice
- Attributes
- Implements
Examples
The following code example shows a <Choice>
element within an image. The Source
attribute overrides the ImageUrl property of the Image control.
Although the example uses functions to determine whether the browser requires WML (isWML11
) or supports color (supportsColor
), you can instead use a Web.config file to define a <DeviceSpecific>
element that the .NET Framework automatically uses to make the determination for you.
Note
The following code sample uses the single-file code model and may not work correctly if copied directly into a code-behind file. This code sample must be copied into an empty text file that has an .aspx extension. For more information, see ASP.NET Web Forms Page Syntax Overview.
<%@ Page Language="C#"
Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<%@ Import Namespace="System.Web.Mobile" %>
<script runat="server">
private bool supportsColor(MobileCapabilities caps, string optValue)
{
// Determine if the browser is not a Web crawler and
// can display in color
if (!caps.Crawler && caps.IsColor)
return true;
return false;
}
private bool isWML11(MobileCapabilities caps, string optValue)
{
// Determine if the browser is not a Web crawler and
// requires WML markup
if (!caps.Crawler && caps.PreferredRenderingType ==
MobileCapabilities.PreferredRenderingTypeWml11)
return true;
return false;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<mobile:form id="form1" runat="server">
<mobile:Image ID="Image1" runat="server"
AlternateText="Cannot display this image.">
<DeviceSpecific>
<choice Filter ="isWML11" ImageURL="wmlImage.wbmp" />
<choice Filter="supportsColor" ImageURL="colorImage.gif" />
<choice ImageURL="monoImg.gif" />
</DeviceSpecific>
</mobile:Image>
</mobile:form>
</body>
</html>
<%@ Page Language="VB"
Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<%@ Import Namespace="System.Web.Mobile" %>
<script runat="server">
Private Function supportsColor(ByVal caps As MobileCapabilities, _
ByVal value As String) As Boolean
' Determine if the browser is not a Web crawler and
' can display in color
If Not caps.Crawler And caps.IsColor Then
Return True
Else
Return False
End If
End Function
Private Function isWML11(ByVal caps As MobileCapabilities, _
ByVal value As String) As Boolean
' Determine if the browser is not a Web crawler and
' requires WML markup
If (Not caps.Crawler) AndAlso caps.PreferredRenderingType = _
MobileCapabilities.PreferredRenderingTypeWml11 Then
Return True
Else
Return False
End If
End Function
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<mobile:form id="form1" runat="server">
<mobile:Image ID="Image1" runat="server"
AlternateText="Cannot display this image.">
<DeviceSpecific>
<choice Filter ="isWML11" ImageURL="wmlImage.wbmp" />
<choice Filter="supportsColor" ImageURL="colorImage.gif" />
<choice ImageURL="monoImg.gif" />
</DeviceSpecific>
</mobile:Image>
</mobile:form>
</body>
</html>
Remarks
This class is analogous to the <Choice> element. Choices are tested in the order that they appear within a <DeviceSpecific> element. If you specify the Filter property of the <Choice>
element, its value must be the name of a device filter defined in the <deviceFilters>
section of the Machine.config file. At run time, ASP.NET evaluates the specified device filter against the capabilities of the current device. If successful, the choice is selected. If you do not specify the Filter property, the defaults for the <Choice>
element are selected.
Constructors
DeviceSpecificChoice() |
Initializes a new instance of the DeviceSpecificChoice class. This API is obsolete. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET. |
Properties
Argument |
Gets or sets the argument used for a Filter property. The default value is |
Contents |
Gets the overridden properties defined for a choice in a DeviceSpecific/Choice construct. This API is obsolete. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET. |
Filter |
Gets or sets the name of a device filter. This API is obsolete. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET. |
HasTemplates |
Gets a value indicating whether the currently selected choice in the <DeviceSpecific> element has templates defined within it. This API is obsolete. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET. |
Templates |
Gets the templates that have been defined in the <Choice> element. This API is obsolete. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET. |
Xmlns |
Gets or sets the type of markup in a <Choice> element. This API is obsolete. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET. |
Methods
AddParsedSubObject(Object) |
Adds the Object to the DeviceSpecificChoice object's Templates object. This API is obsolete. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET. |
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
GetAttribute(String) |
Returns the specified attribute from the DeviceSpecificChoice object. This API is obsolete. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET. |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
SetAttribute(String, String) |
Assigns the given value to the attribute specified by the key. This API is obsolete. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET. |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
Explicit Interface Implementations
IAttributeAccessor.GetAttribute(String) |
This API supports the product infrastructure and is not intended to be used directly from your code. For a description of this member, see GetAttribute(String). This API is obsolete. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET. |
IAttributeAccessor.SetAttribute(String, String) |
This API supports the product infrastructure and is not intended to be used directly from your code. For a description of this member, see SetAttribute(String, String). This API is obsolete. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET. |
IParserAccessor.AddParsedSubObject(Object) |
For a description of this member, see AddParsedSubObject(Object). This API is obsolete. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET. |