首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

GridView动态判断某行值后自动显示别的控件的有关问题

2012-01-19 
GridView动态判断某行值后自动显示别的控件的问题我想实现的功能是GridView里显示的某行,例如订单状态列显

GridView动态判断某行值后自动显示别的控件的问题
我想实现的功能是GridView里显示的某行,例如订单状态列显示:等待付款,则程序自动在傍边加上“立即支付”链接。
我的程序如下:

apsx:

                                                <asp:TemplateField   HeaderText= "订单状态 "   SortExpression= "Status ">
                                                        <ItemStyle   HorizontalAlign= "Center "   />
                                                        <HeaderStyle   HorizontalAlign= "Center "   />
                                                        <ItemTemplate>
                                                                <asp:Label   ID= "ddzt "   runat= "server "   Text= ' <%#   Bind( "Status ")   %> '> </asp:Label>
                                                                <asp:HyperLink   ID= "zfban "   runat= "server "   NavigateUrl= ' <%#   Eval( "CreditCard ",   "UserOrdersDetail.aspx?id={0} ")   %> '
                                                                        Text= "立即支付 "   Visible= "False "> </asp:HyperLink>
                                                        </ItemTemplate>
                                                </asp:TemplateField>


cs:

                HyperLink   zfban   =   (HyperLink)GridView1.FindControl( "zfban ");
                Label   ddzt   =   (Label)GridView1.r.FindControl( "ddzt ");

                if   (ddzt.Text   ==   "等待付款 ")//这行出错
                {
                        zfban.Visible   =   true;
                }
                else
                {
                        zfban.Visible   =   false;


                }

现在提示:异常详细信息:   System.NullReferenceException:   未将对象引用设置到对象的实例。

[解决办法]
给你个简单的解决办法,不用写代码处理,只要在html代码中改动,如下:
<asp:HyperLink ID= "zfban " runat= "server " NavigateUrl= ' <%# Eval( "CreditCard ", "UserOrdersDetail.aspx?id={0} ") %> '
Text= "立即支付 " Visible= ' <%# Eval( "Status ").ToString()== "等待付款 " %> '> </asp:HyperLink>


这样就ok了,但需要注意,你的这个Status字段值若为null的话就需要再进行处理,如下:
Visible= ' <%# Eval( "Status ")==null?false:Eval( "Status ").ToString()== "等待付款 " %>

热点排行