aspx:
<asp:LinkButton id="LinkButton1" CommandName="Link1" runat="server">编辑</asp:LinkButton>
<asp:LinkButton id="LinkButton2" CommandName="Link2" runat="server">删除</asp:LinkButton> CS:
this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Link1);
this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Link2);
private void Link1(object sender , DataGridCommandEventArgs e)
{  username=Request.QueryString["username"];
 business.BBS_business bs=new BBS_business();
string currentuser=bs.IsGetArticleUserName(id); if(String.Compare(username,currentuser)==0)
{

StringBuilder ms=new StringBuilder();
ms.Append("EditArticle.aspx?");
ms.Append("id="+id+"&username="+username);
Response.Redirect(ms.ToString());

} }
private void Link2(object sender , DataGridCommandEventArgs e) {
username=Request.QueryString["username"];
business.BBS_business bs=new BBS_business();
string currentuser=bs.IsGetArticleUserName(id);
           common.BBS_Article article=new BBS_Article();
article.id=id; if(String.Compare(username,currentuser)==0)
{
if(bs.IsDeleteArticle(article)) {     
StringBuilder ms=new StringBuilder();
ms.Append("Home.aspx?");
ms.Append("id="+id+"&username="+username);
Response.Redirect(ms.ToString());

} else{

Response.Redirect("ServiceERROR.aspx");
}  }
点“删除”~会莫名其妙的进入“编辑”页面~用断点看了下~点“删除”(LinkButton2)会莫名其妙跑到LinkButton1的事件中去~根本进不了删除的事件~

解决方案 »

  1.   

    将dataGrid得删除事件和你的按钮关联在设计模式下点击属性中得那个闪电图标
      

  2.   

    你的 ItemCommand 事件难道不是执行 Link1() 和 Link2()?那么你为什么将它们注册给 ItemCommand ?你可以google一个实际的 ItemCommand 的程序例子,看看如何依据 CommandName 来执行不同程序。
      

  3.   

    sp1234说的对,用CommandName就可以简单的判断。
    楼主将ItemCommand的事件添加了两遍,肯定先从第一个添加的开始执行(this.Link1)
      

  4.   

    this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Grid1_item);private void Grid1_item(object sender , DataGridCommandEventArgs e)
    {
        if (e.CommandName == "Link1") // 编辑
        {
             this.Link1(sender,e);
        }
        else if (e.CommandName == "Link2") // 删除
        {
             this.Link2(sender,e);
        }
    }