學習 CommandName 和 CommandArgument

當網頁上具有多個Button控件時,多個Button控件又處理單個事件,可以標記按鈕,使代碼根據窗體上被單擊的按鈕進行邏輯判斷,可以用Button按鈕的OnClick事件和OnCommand事件來獲取這CommandName和CommandArgument的值。

命令的附加信息可以使用CommandArgument屬性來指定,可以用CommandArgument來精確定義需要的參數值

舉例如下:

    1) 我們在事件OnClick中得到這兩個屬性的值

        protected void btn_Click(object sender, EventArgs e)
        {
            switch (((Button)sender).CommandName)
            {
                case "1":
                    Label1.Text="按鈕1激活";
                    break;
                case "2":
                    Label1.Text="按鈕2激活";
                    break;
                case "3":
                    Label1.Text="按鈕3激活";
                    break;
            }
            Label2.Text = ((Button)sender).CommandArgument.ToString();
        }

 

    <form id="form1" runat="server">
    <div>
   
    </div>
    <asp:Button ID="btn_1" runat="server" CommandArgument="我選蘋果" CommandName="1"
        onclick="btn_Click" oncommand="btn_Command" Text="按鈕1" Width="79px" />
    <asp:Button ID="Btn_2" runat="server" CommandArgument="我選香蕉" CommandName="2"
        onclick="btn_Click" oncommand="btn_Command" Text="按鈕2" Width="65px" />
    <asp:Button ID="Btn_3" runat="server" CommandArgument="我選草莓" CommandName="3"
        onclick="btn_Click" oncommand="btn_Command" Text="按鈕3" Width="57px" />
    <p>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </p>
    <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
    </form>

    2) 我們在事件OnCommand中得到這兩個屬性的值

       protected void btn_Command(object sender, CommandEventArgs e)
        {
            switch (e.CommandName)
            {
                case "1":
                    Label1.Text="按鈕1激活";
                    break;
                case "2":
                    Label1.Text="按鈕2激活";
                    break;
                case "3":
                    Label1.Text="按鈕3激活";
                    break;
            }
            Label2.Text = e.CommandArgument.ToString();
        }
    }
    相比較而言,在OnCommand中獲取這兩個屬性值較簡單

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章