0

所以我有一个网格视图,在 FooterTemplate 中我为按钮添加定义了一个命令名。这里的代码:

                                      <asp:TemplateField>
                                    <HeaderStyle Font-Size="XX-Small" Font-Names="Verdana" Font-Bold="True" VerticalAlign="Top"></HeaderStyle>
                                    <FooterTemplate><asp:LinkButton CommandName="Insert" Text="Add credit" ID="btnAdd" OnClick="btnAdd_Click" Runat="server" Font-Size="XX-Small  "
                                            Font-Names="Verdana" Font-Bold="True" ForeColor="#5BB1E6" Width="7%"></asp:LinkButton>
                                    </FooterTemplate>
                                </asp:TemplateField>

就像这个“添加”按钮一样,我还有另一个名为“编辑”的按钮,我想将所有这些按钮的 SQL 语句放在一个函数中。我想做这样的事情:

protected bool AddNewCredit()

        if (e.Commandname == "Insert")
    {
    Do This}
    if (e.Commandename == "Edit")
    {
    Do this
    } 

等等。问题是当我尝试访问 e.rowcommand 时,它没有在 e 之后捕获命令名。

感谢帮助实现我的目标,即能够在函数中读取 e.commandname 的值。非常感谢大家:)

4

1 回答 1

1

将其更改为:

<asp:LinkButton CommandName="Insert" Text="Add credit" ID="btnAdd" OnCommand="btnAdd_Click" Runat="server" Font-Size="XX-Small  "
                                        Font-Names="Verdana" Font-Bold="True" ForeColor="#5BB1E6" Width="7%"></asp:LinkButton>

然后将您的 btnAdd_Click 函数更改为:

public void btnAdd_Click(object sender, CommandEventArgs e)
{
    string sCommandName = e.CommandName;
}

如果要捕获 CommandName 和 CommandArgument,则需要使用 OnCommand 事件,而不是 OnClick。

于 2012-10-04T20:16:00.230 回答