Как получить доступ к "имени команды", которое было определено в шаблоне нижнего колонтитула Gridview?
Таким образом, у меня есть gridview, где внутри 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 в функции. Большое спасибо всем:)
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.