C# 在服务器上单击按钮不工作

C# 在服务器上单击按钮不工作,c#,asp.net,C#,Asp.net,我有一个html按钮,我希望有一个服务器端的点击事件,但当按钮被点击,页面进行回发时,它不会触发。该按钮位于呈现信息表的项目模板中 aspx 我猜想它不会像这样工作,因为由放置在项模板中的嵌套控件引发的事件应该由ListView的ItemCommand事件来处理 要使其工作,您应该设置按钮的CommandName和CommandArgument,并处理listview的ItemCommand中的特定值 但是,如果我没有记错的话,HtmlInputButton没有CommandName和Comma

我有一个html按钮,我希望有一个服务器端的点击事件,但当按钮被点击,页面进行回发时,它不会触发。该按钮位于呈现信息表的
项目模板中

aspx


我猜想它不会像这样工作,因为由放置在项模板中的嵌套控件引发的事件应该由ListView的
ItemCommand
事件来处理

要使其工作,您应该设置按钮的
CommandName
CommandArgument
,并处理listview的
ItemCommand
中的特定值

但是,如果我没有记错的话,
HtmlInputButton
没有
CommandName
CommandArgument
属性。相反,请使用
asp:Button

 <asp:Button id="delete" runat="server" CommandName="something" CommandArgument="somethingelse" />
请注意,
CommandArgument
通常绑定到一个特定于项的值(可能是id),以便在服务器端处理程序中您可以准确地识别单击的按钮:

 <asp:Button id="delete" runat="server" CommandName="something" CommandArgument="<%# Eval( "id" ) %>" />

 protected void usersListView_ItemCommand( object sender, ListViewCommandEventArgs e )
 {
     switch ( e.CommandName ) { 
         case "something" : 
             // this is where you handle the button click
             var itemid = e.CommandArgument; 
     }
 }

受保护的void usersListView_ItemCommand(对象发送方,ListViewCommandEventArgs e)
{
开关(e.CommandName){
案例“某物”:
//这是处理按钮单击的位置
var itemid=e.CommandArgument;
}
}

是页面声明中的
AutoEventWireup=“true”
吗?这太棒了,谢谢Wiktor。但我遇到了ItemCommand事件处理程序未启动的问题。我设置了ListView
OnItemCommand=“usersListView\u ItemCommand”
,但什么都没有发生,当我单击删除按钮时,它根本没有击中处理程序。
 <asp:Button id="delete" runat="server" CommandName="something" CommandArgument="somethingelse" />
 protected void usersListView_ItemCommand( object sender, ListViewCommandEventArgs e )
 {
     switch ( e.CommandName ) { 
         case "something" : 
             // this is where you handle the button click
     }
 }
 <asp:Button id="delete" runat="server" CommandName="something" CommandArgument="<%# Eval( "id" ) %>" />

 protected void usersListView_ItemCommand( object sender, ListViewCommandEventArgs e )
 {
     switch ( e.CommandName ) { 
         case "something" : 
             // this is where you handle the button click
             var itemid = e.CommandArgument; 
     }
 }