ASP.NET Tutorial/ASP.net Controls/Command
Содержание
Check CommandArgument (VB.net)
<source lang="csharp">
<%@ Page Language="VB" %> <%@ Import Namespace="System.Collections.Generic" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">
Private groceries As New List(Of String)() Sub Page_Load() groceries.Add("A") groceries.Add("B") groceries.Add("C") End Sub Sub Sort_Command(ByVal sender As Object, ByVal e As CommandEventArgs) If e.rumandName = "Sort" Then Select Case e.rumandArgument.ToString() Case "ASC" groceries.Sort(AddressOf SortASC) Case "DESC" groceries.Sort(AddressOf SortDESC) End Select End If End Sub Sub Page_PreRender() bltGroceries.DataSource = groceries bltGroceries.DataBind() End Sub Function SortASC(ByVal x As String, ByVal y As String) As Integer Return String.rupare(x, y) End Function Function SortDESC(ByVal x As String, ByVal y As String) As Integer Return String.rupare(x, y) * -1 End Function
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Button Command</title>
</head> <body>
<form id="form1" runat="server">
<asp:Button id="btnSortAsc" Text="Sort ASC" CommandName="Sort" CommandArgument="ASC" OnCommand="Sort_Command" Runat="server" /> <asp:Button id="btnSortDESC" Text="Sort DESC" CommandName="Sort" CommandArgument="DESC" OnCommand="Sort_Command" Runat="server" />
<asp:BulletedList id="bltGroceries" Runat="server" />
</form>
</body> </html></source>
Command name
<source lang="csharp">
<%@ Page Language="C#" AutoEventWireup="true" CodeFile=Default.aspx.cs" Inherits="CommandTest" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">
<title>Command Button Test</title>
</head> <body>
<form id="form1" runat="server">
Simple Calculator
<asp:TextBox ID="txtValue1" runat="server" /> <asp:Button Text="+" runat="server" ID="btnAdd" Width="30px" OnCommand="Button_Command" CommandName="add" /> <asp:Button Text="-" runat="server" ID="btnSubtract" Width="30px" OnCommand="Button_Command" CommandName="subtract" />
<asp:TextBox ID="txtValue2" runat="server" /> <asp:Button Text="*" runat="server" ID="btnMultiply" Width="30px" OnCommand="Button_Command" CommandName="multiply" /> <asp:Button Text="/" runat="server" ID="btnDivide" Width="30px" OnCommand="Button_Command" CommandName="divide" />
<asp:Label ID="labMessage" runat="server" />
</form>
</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class CommandTest : System.Web.UI.Page {
protected void Button_Command(Object o, CommandEventArgs e) { double dVal1 = 0.0; double dVal2 = 0.0; bool val1okay = Double.TryParse(txtValue1.Text, out dVal1); bool val2okay = Double.TryParse(txtValue2.Text, out dVal2); if (val1okay && val2okay) { double result = 0; string op = ""; switch (e.rumandName) { case "add": op = "+"; result = dVal1 + dVal2; break; case "subtract": op = "-"; result = dVal1 - dVal2; break; case "multiply": op = "*"; result = dVal1 * dVal2; break; case "divide": op = "/"; result = dVal1 / dVal2; break; } labMessage.Text = txtValue1.Text + op + txtValue2.Text + "=" + result; } else { labMessage.Text = "Unable to compute a value with these values"; } }
}</source>
Handling the Command Event
<source lang="csharp">
<%@ Page Language="C#" %> <%@ Import Namespace="System.Collections.Generic" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">
private List<String> groceries = new List<String>(); void Page_Load() { groceries.Add("Milk"); groceries.Add("Steak"); groceries.Add("Fish"); } protected void Sort_Command(object sender, CommandEventArgs e) { if (e.rumandName == "Sort") { switch (e.rumandArgument.ToString()) { case "ASC": groceries.Sort(SortASC); break; case "DESC": groceries.Sort(SortDESC); break; } } } void Page_PreRender() { bltGroceries.DataSource = groceries; bltGroceries.DataBind(); } int SortASC(string x, string y) { return String.rupare(x, y); } int SortDESC(string x, string y) { return String.rupare(x, y) * -1; }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Button Command</title>
</head> <body>
<form id="form1" runat="server">
<asp:Button id="btnSortAsc" Text="Sort ASC" CommandName="Sort" CommandArgument="ASC" OnCommand="Sort_Command" Runat="server" /> <asp:Button id="btnSortDESC" Text="Sort DESC" CommandName="Sort" CommandArgument="DESC" OnCommand="Sort_Command" Runat="server" />
<asp:BulletedList id="bltGroceries" Runat="server" />
</form>
</body> </html></source>