oncommand与CommandArgument的联系

本文通过一个具体的示例介绍了ASP.NET中LinkButton和Button组件的CommandArgument属性使用方法及其如何传递值。并通过C#代码展示了如何获取这些值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

oncommand与CommandArgument的联系,

下面的例子演示了它们之间的联系

LinkButton 和 Button都有这两个属性,它们都是用来传值的

 

aspx页面代码

<%@ Page Language="C#" CodeFile="CommandArgument.aspx.cs" Inherits="text_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument="123"
            oncommand="LinkButton1_Command">LinkButton</asp:LinkButton>
    </div>
    </form>
</body>
</html>

cs页面代码

    protected void LinkButton1_Command(object sender, CommandEventArgs e)
    {
        string str = e.CommandArgument.ToString(); //取到CommandArgument的值
        Response.Write(str);
    }

 

结果是它会在页面输出“123”

前端代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="listview增删改查._default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style type="text/css"> .divItem { padding: 5px; } .divBtns { width:130px; } .divInfo { width:350px; padding:0px 10px 0px 10px; border-left:1px solid #dadada; border-right:1px solid #dadada; } .divInfo2 { width:200px; } .divBtns, .divInfo, .divInfo2 { float:left; } .clr { clear:both; } </style> </head> <body> <form id="form1" runat="server"> <div> <asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource2" ItemPlaceholderID="itemholder"> <LayoutTemplate> <div runat="server" id="itemholder"></div> </LayoutTemplate> <ItemTemplate> <div id="divItem"> <div class="divBtns"> <asp:Button ID="btn_edit" runat="server" Text="编辑" CommandName="edit" /><br/> <asp:Button ID="btn_delete" runat="server" Text="删除" CommandName="delete" /> <asp:Button ID="btn_delmak" runat="server" Text="标记删除" CommandName="lvcmd" CommandArgument='<%#Eval("se_id") %>' onCommand="mycmd" /> </div> <div class="divInfo"> <h2><%#Eval("se_name") %></h2> <p><%#Eval("se_memo") %></p> </div> <div class="divInfo2"> <asp:CheckBox ID="chk_enable" runat="server" Checked='<%#Eval("se_enable") %>' Enabled="false" Text="有效性" /><br/> <p>排序:<%#Eval("se_order") %></p> </div> <div class="clr"></div> </div> </ItemTemplate> </asp:ListView> <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString9 %>" DeleteCommand="DELETE FROM [T_SERIES] WHERE [se_id] = ?" InsertCommand="INSERT INTO [T_SERIES] ([se_id], [se_name], [se_memo], [se_order], [se_enable], [se_delete]) VALUES (?, ?, ?, ?, ?, ?)" ProviderName="<%$ ConnectionStrings:ConnectionString9.ProviderName %>" SelectCommand="SELECT * FROM [T_SERIES] WHERE SE_DELETE=FALSE" UpdateCommand="UPDATE [T_SERIES] SET [se_name] = ?, [se_memo] = ?, [se_order] = ?, [se_enable] = ?, [se_delete] = ? WHERE [se_id] = ?"> <DeleteParameters> <asp:Parameter Name="se_id" Type="Int32" /> </DeleteParameters> <InsertParameters> <asp:Parameter Name="se_id" Type="Int32" /> <asp:Parameter Name="se_name" Type="String" /> <asp:Parameter Name="se_memo" Type="String" /> <asp:Parameter Name="se_order" Type="Int32" /> <asp:Parameter Name="se_enable" Type="Boolean" /> <asp:Parameter Name="se_delete" Type="Boolean" /> </InsertParameters> <UpdateParameters> <asp:Parameter Name="se_name" Type="String" /> <asp:Parameter Name="se_memo" Type="String" /> <asp:Parameter Name="se_order" Type="Int32" /> <asp:Parameter Name="se_enable" Type="Boolean" /> <asp:Parameter Name="se_delete" Type="Boolean" /> <asp:Parameter Name="se_id" Type="Int32" /> </UpdateParameters> </asp:SqlDataSource> </div> </form> </body> </html> 后端代码: using System; using System.Collections.Generic; using System.Data.OleDb; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace listview增删改查 { public partial class _default : System.Web.UI.Page { string str_cnn = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source="; string str_sourcefile = "mdb\\TB-HLINKS.accdb"; OleDbConnection cnn; OleDbCommand cmd; OleDbDataReader datar; string str_sql; protected void Page_Load(object sender, EventArgs e) { } protected void mycmd(object sender, CommandEventArgs e) { string str_conn = str_cnn + MapPath(str_sourcefile); cnn = new OleDbConnection(str_conn); cnn.Open(); str_sql = "update T_SERIES set se_delete =true where " + "se_id =" + e.CommandArgument.ToString(); cmd = new OleDbCommand(str_sql, cnn); cmd.ExecuteNonQuery(); cnn.Close(); ListView1.DataBind(); } } } 不能更改数据,什么原因呢?
最新发布
08-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值