MobilePage.AllowCustomAttributes 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得值,指出頁面上的控制項是否可以具有已經定義的自訂屬性。 預設值是 Web.config 檔案的 <mobilecontrols
> 區段的 allowCustomAttributes
屬性值。 這個 API 已經過時。 如需如何開發 ASP.NET 行動應用程式的資訊,請參閱 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
屬性值
如果頁面上的控制項可以具有已經定義的自訂屬性,則為 true
,否則為 false
。
- 屬性
範例
下列範例示範如何使用 AllowCustomAttributes 屬性在 上Command啟用自定義AccessKey
屬性。
注意
下列程式代碼範例會使用單一檔案程式代碼模型,如果您直接將它複製到程式代碼後置檔案,可能無法正常運作。 您必須將此程式碼範例複製到具有.aspx擴展名的空白文字檔。 如需詳細資訊,請參閱 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>
備註
除了 IAttributeAccessor 介面之外,ASP.NET 頁面架構還提供 CustomAttributes
字典,可讓您指定其他屬性、啟用或停用自定義屬性,或調整控件的行為或轉譯。 若要啟用或停用自訂屬性,您可以將 屬性設定AllowCustomAttributes為 true
,也可以將 Web.config 區段的 <mobileControls>
屬性設定allowCustomAttributes
為 true
。
注意
啟用自定義屬性時,屬性名稱中的印刷錯誤可以解譯為自定義屬性。 例如,如果開發人員不正確地將 Text 控件的 屬性指定為 「Txet」,剖析器會將它儲存為稱為 「Txet」 的自定義屬性,而不是引發例外狀況。 因此,預設會停用自定義屬性。