根据返回值设置按钮的值

本文关键字:按钮 设置 返回值 | 更新日期: 2023-09-27 18:01:03

我在asp.net中使用GridView

第一列是按钮控件列表-

<ItemTemplate>
  <asp:Button ID="statusButton" runat="server" Text="Select" 
            OnClick="statusButton_CheckedChanged" />
</ItemTemplate>

但是,我想根据表中另一列的值修改数据绑定上此按钮的背景色和文本值。

我的问题是,我需要在检索其他列的值时检查它们,它们将是1-1,并且该值将设置按钮的设计。

如何检查此绑定字段的值-

<asp:BoundField DataField="EXCLUDE" HeaderText="EXCLUDE" SortExpression="EXCLUDE" 
     ReadOnly="True" HeaderStyle-CssClass = "hideGridColumn" 
     ItemStyle-CssClass="hideGridColumn"/>

然后设置按钮的颜色和文本?

根据返回值设置按钮的值

您可以使用gridview的RowDataBound事件,例如:

    myGrid.RowDataBound += new GridViewRowEventHandler(myGrid_RowDataBound);
    void myGrid_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                //Raised after each row is databound
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    string value = e.Row.Cells[5].Text; //sixth column
                    if (value == "1")
                    {
                        //change button color (assuming button is in first column)
                        Button myButton = e.Row.Cells[0].Controls[0] as Button;
                        myButton.BackColor = Color.Red;

按以下进行更改

<ItemTemplate>
     <asp:Button ID="statusButton" runat="server" Text="Select" 
        OnClick="statusButton_CheckedChanged" />
</ItemTemplate>

根据您的条件使用不同的css类

.class1{
 color:red;
 font-size:10;
}
.class2{
 color:blue;
 font-size:12;
}
<ItemTemplate>
     <asp:Button ID="statusButton" runat="server" Text="Select" 
        CssClass='<%# Convert.ToString(Eval("EXCLUDE"))== "1" ? "class1" : "class2" %>' 
        OnClick="statusButton_CheckedChanged" />
</ItemTemplate>

您可以从RowDataBound上的C#事件中使用它,如@edwin

所建议的那样