Изменить текст пользовательской кнопки GridView и Css при событии щелчка - PullRequest
0 голосов
/ 26 сентября 2018

Я работаю над проектом, в котором я создаю панель управления для администратора.У меня есть UsersGridView , который отображает в нем данные зарегистрированных пользователей.Используя поле Template для Gridview Я создал кнопку, которая позволяет Admin с Lockout или Enable пользователь для использования системы.

<asp:TemplateField HeaderText="LockoutStatus">
    <ItemTemplate>
         <asp:Button ID="LockoutStatus" runat="server" CausesValidation="false" CommandName="LockoutStatus" Text="Enabled"
            CommandArgument='<%# Eval("Id") %>' />
   </ItemTemplate>
</asp:TemplateField>

В событии RowCommand как изменить кнопку CssClass и текст, если пользователь заблокирован из системы.

1 Ответ

0 голосов
/ 26 сентября 2018

Существует несколько способов изменить класс CssClass.

С помощью события RowDataBound.

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    //check if the row is d datarow
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        //cast the row back to a datarowview
        DataRowView row = e.Row.DataItem as DataRowView;

        //use findcontrol to locate the butotn
        Button btn = e.Row.FindControl("LockoutStatus") as Button;

        //change the class based on a column value
        if (row["ColumnName"].ToString() == "LockedOut")
        {
            btn.CssClass = "ClassA";
        }
    }
}

Или на странице aspx с троичным оператором.

<asp:Button ID="LockoutStatus" runat="server" 
    CssClass='<%# Eval("ColumnName").ToString() == "LockedOut" ? "ClassA" : "ClassB" %>'

Или как вы хотели в событии RowCommand.Вы можете использовать CommandSource и привести его к Button.

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    Button btn = e.CommandSource as Button;
    btn.CssClass = "ClassA";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...