ObjectList.CommandStyle 属性

定义

获取或设置用于对象列表命令的样式。 此 API 已废弃不用。 有关如何开发 ASP.NET 移动应用程序的信息,请参阅 移动应用 & 具有 ASP.NET 的网站

public:
 property System::Web::UI::MobileControls::Style ^ CommandStyle { System::Web::UI::MobileControls::Style ^ get(); void set(System::Web::UI::MobileControls::Style ^ value); };
public System.Web.UI.MobileControls.Style CommandStyle { get; set; }
member this.CommandStyle : System.Web.UI.MobileControls.Style with get, set
Public Property CommandStyle As Style

属性值

用于对象列表命令的样式。

示例

下面的代码示例演示如何使用 CommandStyle 属性设置 的样式, ObjectList 使用声明性 DeviceSpecific 节为不同的设备指定不同的 CommandStyle 设置。

注意

下面的代码示例使用单文件代码模型,如果直接复制到代码隐藏文件中,可能无法正常工作。 必须将此代码示例复制到扩展名为 .aspx 的空文本文件中。 有关详细信息,请参阅 ASP.NET Web 窗体页代码模型

<%@ Page Language="C#" 
    Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile" 
    Namespace="System.Web.UI.MobileControls" 
    Assembly="System.Web.Mobile" %>

<script runat="server">
    int bakeryCount = 0, dairyCount = 0, produceCount = 0;

    public void Page_Load(Object o, EventArgs e)
    {
        if (!IsPostBack)
        {   // Create an array and bind it to the list
            ArrayList arr = new ArrayList();
            arr.Add (new GroceryItem 
                ("Bakery", "Rolls", "On Sale"));
            arr.Add (new GroceryItem 
                ("Dairy", "Eggnog", "Half price"));
            arr.Add (new GroceryItem 
                ("Produce", "Apples", 
                "A dollar a bushel"));
            arr.Add (new GroceryItem 
                ("Bakery", "Bread", "On Sale"));

            List1.DataSource = arr;
            List1.DataBind ();

            // To show only one field on opening page,
            // comment the next line
            List1.TableFields = "Item;Department";
            List1.LabelField = "Department";

            // Display a report after items are databound
            string txt = "Number of items by Department<br>Produce: {0}<br />" +
                "Dairy: {1}<br />Bakery: {2}";
            TextView2.Text = String.Format(txt, produceCount, dairyCount, bakeryCount);
        }
    }

    // Command event for buttons
    public void List1_Click(Object sender, 
        ObjectListCommandEventArgs e)
    {
        if (e.CommandName == "Reserve")
           ActiveForm = Form2;
        else if (e.CommandName == "Buy")
           ActiveForm = Form3;
        else
           ActiveForm = Form4;
    }

    //<Snippet4>
    // Count items in each department
    private void List1_ItemDataBind(object sender, ObjectListDataBindEventArgs e)
    {
        switch (((GroceryItem)e.DataItem).Department)
        {
            case "Bakery":
                bakeryCount++;
                break;
            case "Dairy":
                dairyCount++;
                break;
            case "Produce":
                produceCount++;
                break;
        }
    }
    //</Snippet4>

    //<Snippet2>
    private void AllFields_Click(object sender, EventArgs e)
    {
        ActiveForm = Form5;
        string spec = "{0}: {1}<br/>";
        IObjectListFieldCollection flds = List1.AllFields;
        for (int i = 0; i < flds.Count; i++)
            TextView1.Text += 
                String.Format(spec, (i + 1), flds[i].Title);
    }
    //</Snippet2>

    // Structure for ArrayList records
    private class GroceryItem
    {   // A private class for the Grocery List
        private String _department, _item, _status;
        public GroceryItem(string department,
            string item, string status)
        {
            _department = department;
            _item = item;
            _status = status;
        }
        public String Department
        { get { return _department; } }
        public String Item
        { get { return _item; } }
        public String Status
        { get { return _status; } }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
    <mobile:Form id="Form1" runat="server" BackColor="LightBlue">
        <mobile:ObjectList id="List1" runat="server" 
            OnItemCommand="List1_Click" OnItemDataBind="List1_ItemDataBind">
            <DeviceSpecific ID="DeviceSpecific1" Runat="server">
                <!-- See Web.config for filters -->
                <Choice Filter="isWML11" CommandStyle-Font-Bold="NotSet" />
                <Choice CommandStyle-Font-Bold="true" 
                    CommandStyle-Font-Name="Arial" />
            </DeviceSpecific>
            <Command Name="Reserve" Text="Reserve" />
            <Command Name="Buy" Text="Buy" />
        </mobile:ObjectList>
        <mobile:Command ID="AllFieldsCmd" Runat="server" 
            OnClick="AllFields_Click">
            List All Fields</mobile:Command>
        <mobile:TextView ID="TextView2" Runat="server" />
    </mobile:Form>
    <mobile:Form id="Form2" runat="server" BackColor="LightBlue">
        <mobile:Label id="ResLabel" runat="server"
            text="Sale item reservation system coming soon!" />
        <mobile:Link id="ResLink" NavigateURL="#Form1" 
            runat="server" text="Return" />
    </mobile:Form>
    <mobile:Form id="Form3" runat="server" BackColor="LightBlue">
        <mobile:Label id="BuyLabel" runat="server"
            Text="Online purchasing system coming soon!" />
        <mobile:Link ID="BuyLink" NavigateURL="#Form1" 
            Runat="server" text="Return" />
    </mobile:Form>
    <mobile:Form id="Form4" Runat="server" BackColor="LightBlue">
        <mobile:Label ID="DefLabel" Runat="server" 
             Text="Detailed item descriptions will be here soon!"/>
        <mobile:Link ID="DefLink" NavigateURL="#Form1" 
            Runat="server" Text="Return" />
    </mobile:Form>
    <mobile:Form ID="Form5" Runat="server">
        <mobile:Label Runat="server">
            List of AllFields:</mobile:Label>
        <mobile:TextView ID="TextView1" Runat="server" />
        <mobile:Link Runat="server" NavigateUrl="#Form1" 
            Text="Return"></mobile:Link>
    </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" %>

<script runat="server">
    Dim bakeryCount, dairyCount, produceCount As Integer

    Private Sub Page_Load(ByVal o As Object, ByVal e As EventArgs)
        If Not IsPostBack Then
            ' Create an array and bind it to the list
            Dim arr As New ArrayList()
            arr.Add(New GroceryItem _
                ("Bakery", "Rolls", "On Sale"))
            arr.Add(New GroceryItem _
                ("Dairy", "Eggnog", "Half price"))
            arr.Add(New GroceryItem _
                ("Produce", "Apples", _
                "A dollar a bushel"))
            arr.Add(New GroceryItem _
                ("Bakery", "Bread", "On Sale"))

            List1.DataSource = arr
            List1.DataBind()

            ' To show only one field on opening page,
            ' comment the next line
            List1.TableFields = "Item;Department"
            List1.LabelField = "Department"

            ' Display a report after items are databound
            Const txt As String = "Number of items by Department<br>Produce: " + _
                "{0}<br />Dairy: {1}<br />Bakery: {2}"
            TextView2.Text = String.Format(txt, produceCount, dairyCount, bakeryCount)
        End If
    End Sub

    ' Command event for buttons
    Private Sub List1_Click(ByVal sender As Object, _
        ByVal e As ObjectListCommandEventArgs)

        If e.CommandName = "Reserve" Then
            ActiveForm = Form2
        ElseIf e.CommandName = "Buy" Then
            ActiveForm = Form3
        Else
            ActiveForm = Form4
        End If
    End Sub

    '<Snippet4>
    ' Count items in each department
    Private Sub List1_ItemDataBind(ByVal sender As Object, ByVal e As ObjectListDataBindEventArgs)
        Select Case CType(e.DataItem, GroceryItem).Department
            Case "Bakery"
                bakeryCount += 1
            Case "Dairy"
                dairyCount += 1
            Case "Produce"
                produceCount += 1
        End Select
    End Sub
    '</Snippet4>

    '<Snippet2>
    Private Sub AllFields_Click(ByVal sender As Object, ByVal e As EventArgs)

        ActiveForm = Form5
        Dim spec As String = "{0}: {1}<br/>"
        Dim flds As IObjectListFieldCollection = List1.AllFields
        Dim i As Integer
        For i = 0 To flds.Count - 1
            TextView1.Text += _
                String.Format(spec, (i + 1), flds(i).Title)
        Next
    End Sub
    '</Snippet2>

    ' Structure for ArrayList records
    Private Class GroceryItem
        ' A private class for the Grocery List
        Private _department, _item, _status As String
        Public Sub New(ByVal department As String, _
            ByVal item As String, ByVal status As String)
            _department = department
            _item = item
            _status = status
        End Sub
        Public ReadOnly Property Department() As String
            Get
                Return _department
            End Get
        End Property
        Public ReadOnly Property Item() As String
            Get
                Return _item
            End Get
        End Property
        Public ReadOnly Property Status() As String
            Get
                Return _status
            End Get
        End Property
    End Class
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
    <mobile:Form id="Form1" runat="server" BackColor="LightBlue">
        <mobile:ObjectList id="List1" runat="server" 
            OnItemCommand="List1_Click" OnItemDataBind="List1_ItemDataBind">
            <DeviceSpecific ID="DeviceSpecific1" Runat="server">
                <!-- See Web.config for filters -->
                <Choice Filter="isWML11" CommandStyle-Font-Bold="NotSet" />
                <Choice CommandStyle-Font-Bold="true" 
                    CommandStyle-Font-Name="Arial" />
            </DeviceSpecific>
            <Command Name="Reserve" Text="Reserve" />
            <Command Name="Buy" Text="Buy" />
        </mobile:ObjectList>
        <mobile:Command ID="AllFieldsCmd" Runat="server" 
            OnClick="AllFields_Click">
            List All Fields</mobile:Command>
        <mobile:TextView ID="TextView2" Runat="server" />
    </mobile:Form>
    <mobile:Form id="Form2" runat="server" BackColor="LightBlue">
        <mobile:Label id="ResLabel" runat="server"
            text="Sale item reservation system coming soon!" />
        <mobile:Link id="ResLink" NavigateURL="#Form1" 
            runat="server" text="Return" />
    </mobile:Form>
    <mobile:Form id="Form3" runat="server" BackColor="LightBlue">
        <mobile:Label id="BuyLabel" runat="server"
            Text="Online purchasing system coming soon!" />
        <mobile:Link ID="BuyLink" NavigateURL="#Form1" 
            Runat="server" text="Return" />
    </mobile:Form>
    <mobile:Form id="Form4" Runat="server" BackColor="LightBlue">
        <mobile:Label ID="DefLabel" Runat="server" 
             Text="Detailed item descriptions will be here soon!"/>
        <mobile:Link ID="DefLink" NavigateURL="#Form1" 
            Runat="server" Text="Return" />
    </mobile:Form>
    <mobile:Form ID="Form5" Runat="server">
        <mobile:Label ID="Label1" Runat="server">
            List of AllFields:</mobile:Label>
        <mobile:TextView ID="TextView1" Runat="server" />
        <mobile:Link ID="Link1" Runat="server" NavigateUrl="#Form1" 
            Text="Return"></mobile:Link>
    </mobile:Form>
</body>
</html>

这是一个示例 Web.config 文件,其中包含多个特定于设备的筛选器。

注解

如果以编程方式设置此属性,则不会保留该属性,除非在每个请求上动态设置该属性。 如果属性是以声明方式设置的,则会在每个请求中设置 该属性。 没有默认值。

由于不同的设备对样式有不同的要求。 可能需要属性的CommandStyle多个DeviceSpecific设置。

适用于

另请参阅