<asp:TemplateField HeaderText="审核">
                              <ItemTemplate>
                                <%
                                    if (DataBinder.Eval(Container.DataItem, "IsShow") == 0)
                                    {
                                        Response.Write("未审核");
                                    }
                                    else
                                    {
                                        Response.Write("已审核");
                                    }
                                %>
                              </ItemTemplate>
                           </asp:TemplateField>if (DataBinder.Eval(Container.DataItem, "IsShow") == 0) 这句会报错,如何在GridView得到字段数据赋给变量

解决方案 »

  1.   

    可以这样写:
    <%# DataBinder.Eval(Container.DataItem,   "IsShow")   ==   0 ?Response.Write("未审核"):Response.Write("已审核")%>
      

  2.   

    如果出现错误,对绑定的字段进行必要的类型转换,同时,这个Response.Write("未审核")应该也不能在这儿写吧?
    这样应该没问题
    <%# DataBinder.Eval(Container.DataItem,"IsShow") == 0 ?"未审核":"已审核"%> 
      

  3.   

    2楼代码没有测试。但是大体是这样写的。PS:LZ做的是类市新闻审核功能吧,呵呵
      

  4.   

    提示错误
    CS0019: 运算符“==”无法应用于“object”和“int”类型的操作数
    我这样转换 Int32.Parse(DataBinder.Eval(Container.DataItem,"IsShow").ToString())== 0 
    提示错误 编译器错误信息: CS1502: 与“System.Convert.ToString(object, System.IFormatProvider)”最匹配的重载方法具有一些无效参数
      

  5.   

    <%# Convert.ToInt32(DataBinder.Eval(Container.DataItem,"IsShow")) == 0   ?"未审核":"已审核"%>
    就成功了!!!非常谢谢!!!我现在分数真的不足,再说一句非常谢谢!我是刚来CSDN不久的,希望各位大哥大姐多多指教
      

  6.   

    你用这个转换一下试试,Convert.ToInt32,这个可以处理object类型
      

  7.   

    <%#   Convert.ToInt32(DataBinder.Eval(Container.DataItem,"IsShow"))   ==   0       ?"未审核":"已审核"%>