LinkBut​​ton CommandName无法正常工作

时间:2014-01-28 06:39:32

标签: c# asp.net gridview linkbutton

我在gridview中有一个链接按钮(链接按钮的文本是编辑),我给它一个命令名调用修改

所以在我的设计中代码是:

   <asp:TemplateField>
      <ItemTemplate>
          <asp:LinkButton ID="LinkButton1" runat="server" CommandName="modify">Edit</asp:LinkButton>
           </ItemTemplate>
   </asp:TemplateField>

我的代码背后是:

  protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    LinkButton linkBtn = (LinkButton)sender;

    if (linkBtn.CommandName == "modify") // tried linkBtn.CommandArguemtn , doesn't help
    {
        Panel1.Visible = true;
        int index = Convert.ToInt32(e.CommandArgument);       

        Label login = (Label)GridView1.Rows[index].Cells[0].FindControl("Label1");
       //Things i want to do 

    }
}

正如您所见,我将面板设置为可见,但它不会出现......我正在以正确的方式行事吗?我知道一个替代方法是使用生成的默认编辑按钮,但我不想这样做。我试图在gridview中放置一个链接按钮,然后单击链接按钮,然后应该出现面板(由文本框控件组成),然后在面板中更改gridview数据。

3 个答案:

答案 0 :(得分:0)

只需使用

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "modify")
    {
        Panel1.Visible = true;
        int index = Convert.ToInt32(e.CommandArgument);       

        Label login = (Label)GridView1.Rows[index].Cells[0].FindControl("Label1");
       //Things i want to do 

    }
}

您不需要先检查按钮,e.CommandName就足够了

答案 1 :(得分:0)

尝试这样。使用CommandName属性指定或确定命令名称MSDN

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if(e.CommandName=="modify")
        {
            \\
         }
}

答案 2 :(得分:0)

使用以下代码

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{


    if (e.CommandName.ToLower()== "modify") 
    {
        Panel1.Visible = true;
        int index = Convert.ToInt32(e.CommandArgument);       

        Label login = (Label)GridView1.Rows[index].Cells[0].FindControl("Label1");
       //Things i want to do 

    }
}