1、环境:
vs2008,SQLsever2008,GridView绑定数据后每一条数据行加了一个用于购物“评价”的按钮,
2、目的:
通过数据库中读到的值决定按钮是否显示
3、说明:
正常条件下引用“<%# Eval("zhuangt") %>”可以获得“等待付款”、“等待发货”、“订单完成”等值;
现在想在按钮:<asp:Button runat="server" Text="Button" visible=""/>
想通过
<%# Eval("zhuangt") %>是否等于“订单完成”,来决定按钮是否显示。请教如何写该按钮的代码,在线等,谢谢!

解决方案 »

  1.   

     if (!Page.IsPostBack)
                {
                    DataTable dt = new DataTable();
                    dt.Columns.AddRange(new DataColumn[] { 
                        new DataColumn("zhuangt",typeof(string))
                    });                DataRow dr = null;
                    dr = dt.NewRow();
                    dr["zhuangt"] = "等待付款";
                    dt.Rows.Add(dr);                dr = dt.NewRow();
                    dr["zhuangt"] = "等待发货";
                    dt.Rows.Add(dr);                dr = dt.NewRow();
                    dr["zhuangt"] = "订单完成";
                    dt.Rows.Add(dr);                this.GridView1.DataSource = dt;
                    this.GridView1.DataBind();            }
    <div>
                <asp:GridView ID="GridView1" runat="server">
                    <Columns>
                        <asp:TemplateField>
                            <ItemTemplate>
                                <asp:Button ID="Button1" runat="server" Text='<% #Eval("zhuangt")%>' Visible='<% #(Eval("zhuangt") == "订单完成") ? true : false%>' />
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>
            </div>
      

  2.   

    太棒了,实现了!稍微改动了一下:
    <asp:Button ID="Button1" runat="server" Text='<%# Eval("zhuangt")%>' Visible='<%# (Eval("zhuangt").ToString() == "订单完成") ? true : false%>' />