MobilePage.AllowCustomAttributes Property
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.
Gets a value indicating whether controls on the page can have custom attributes defined. The default value is the value of the allowCustomAttributes
attribute of the <mobilecontrols
> section of the Web.config file. This API is obsolete. For information about how to develop ASP.NET mobile applications, see Mobile Apps & Sites with ASP.NET.
public:
property bool AllowCustomAttributes { bool get(); void set(bool value); };
[System.ComponentModel.Bindable(false)]
[System.ComponentModel.Browsable(false)]
public bool AllowCustomAttributes { get; set; }
[<System.ComponentModel.Bindable(false)>]
[<System.ComponentModel.Browsable(false)>]
member this.AllowCustomAttributes : bool with get, set
Public Property AllowCustomAttributes As Boolean
Property Value
true
if the controls on the page can have custom attributes defined; otherwise, false
.
- Attributes
Examples
The following example demonstrates how to use the AllowCustomAttributes property to enable the custom AccessKey
attribute on the Command.
Note
The following code sample uses the single-file code model and may not work correctly if you copy it directly into a code-behind file. You must copy this code sample into an empty text file that has an .aspx extension. For more information, see ASP.NET Web Forms Page Code Model.
<%@ 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">
// <Snippet2>
private void Command_OnClick(object sender, EventArgs e)
{
// Display the other form
if (ActiveForm.ID == "Form1")
ActiveForm = Form2;
else
ActiveForm = Form1;
}
// </Snippet2>
public bool isAccessKey(MobileCapabilities caps,
string optValue)
{
// Determine if the browser is not a Web crawler
// and can use access keys
if (!caps.Crawler && caps.SupportsAccesskeyAttribute)
return true;
return false;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<mobile:Form runat="server" id="Form1" >
<mobile:Label Runat="server">This is Form1</mobile:Label>
<mobile:Command id="cmd1" runat="server" Text="No AccessKey"
onClick="Command_OnClick">
<DeviceSpecific>
<Choice Filter="isAccessKey" Text="AccessKey is 1"/>
</DeviceSpecific>
</mobile:Command>
<mobile:Label id="Label1" runat="server" />
</mobile:Form>
<mobile:Form ID="Form2" Runat="server">
<mobile:Label Runat="server">This is Form2</mobile:Label>
<mobile:Command id="cmd2" runat="server" text="Back to Form1"
onClick="Command_OnClick">
<DeviceSpecific>
<Choice Filter="isAccessKey" Text="1 is AccessKey" AccessKey="1" />
</DeviceSpecific>
</mobile:Command>
</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">
' <Snippet2>
Private Sub Command_OnClick(ByVal sender As Object, ByVal e As EventArgs)
' Display the other form
If ActiveForm.ID = "Form1" Then
ActiveForm = Form2
Else
ActiveForm = Form1
End If
End Sub
' </Snippet2>
Public Function isAccessKey(ByVal caps As MobileCapabilities, _
ByVal optValue As String) As Boolean
' Determine if the browser is not a Web crawler
' and can use access keys
If Not caps.Crawler AndAlso caps.SupportsAccesskeyAttribute Then
Return True
End If
Return False
End Function
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<mobile:Form runat="server" id="Form1" >
<mobile:Label ID="Label1" Runat="server">This is Form1</mobile:Label>
<mobile:Command id="cmd1" runat="server" Text="No AccessKey"
onClick="Command_OnClick">
<DeviceSpecific>
<Choice Filter="isAccessKey" Text="AccessKey is 1"/>
</DeviceSpecific>
</mobile:Command>
<mobile:Label id="Label2" runat="server" />
</mobile:Form>
<mobile:Form ID="Form2" Runat="server">
<mobile:Label ID="Label3" Runat="server">This is Form2</mobile:Label>
<mobile:Command id="cmd2" runat="server" text="Back to Form1"
onClick="Command_OnClick">
<DeviceSpecific>
<Choice Filter="isAccessKey" Text="1 is AccessKey" AccessKey="1" />
</DeviceSpecific>
</mobile:Command>
</mobile:Form>
</body>
</html>
Remarks
In addition to the IAttributeAccessor interface, the ASP.NET page framework provides a CustomAttributes
dictionary that allows you to specify additional attributes, enable or disable custom attributing, or adjust a control's behavior or rendering. To enable or disable custom attributing, you can either set the AllowCustomAttributes property to true
, or you can set the allowCustomAttributes
attribute of the <mobileControls>
section of Web.config to true
.
Note
When custom attributes are enabled, typographic errors in property names can be interpreted as custom attributes. For example, if a developer incorrectly specifies the Text property of a control as "Txet", the parser would save it as a custom attribute called "Txet" instead of raising an exception. For this reason, custom attributes are disabled by default.