我在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数据。
答案 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
}
}