Asp.net asp网格视图中布尔db列的表示
我的数据库中有一列接受真值或假值。我想显示其值网格视图列,并使用以下代码取消我的db列名:Asp.net asp网格视图中布尔db列的表示,asp.net,gridview,Asp.net,Gridview,我的数据库中有一列接受真值或假值。我想显示其值网格视图列,并使用以下代码取消我的db列名: <asp:TemplateField HeaderText="کنسل شده" SortExpression="IsCancelled"> <ItemTemplate>%#Boolean.Parse(Eval("IsCancelled").ToString())) ? "Yes" : "No" %></I
<asp:TemplateField HeaderText="کنسل شده" SortExpression="IsCancelled">
<ItemTemplate>%#Boolean.Parse(Eval("IsCancelled").ToString())) ? "Yes" : "No" %></ItemTemplate>
</asp:TemplateField>
但我得到了以下例外:
中发生“System.NullReferenceException”类型的异常
App_Web_jcvfb4rq.dll,但未在用户代码中处理
其他信息:对象引用未设置为
反对
如果您使用的是C,请尝试下面的解决方案。请注意,VB中没有IIF
<asp:TemplateField HeaderText="کنسل شده" SortExpression="IsCancelled">
<ItemTemplate>
<%#IIf(Boolean.Parse(Eval("IsCancelled").ToString()), "Yes", "No")%>
</ItemTemplate>
</asp:TemplateField>
如果在不部署的情况下调试代码,是否会遇到此问题?我怀疑您在部署后会出现此错误,因为编译文件App_Web_XXX中出现异常 所以首先我们需要知道你们当地是否有这样的问题。如果是,那么调试就更容易知道这是否正是出现问题的那一行 一旦您确认了存在问题的确切线路。您可以尝试以下操作: 1检查并确保您调用的特定表中存在IsCancelled列,并且没有输入错误,因为名称必须匹配 2检查数据源中的select语句。确保select命令能够返回该列 3可能不相关,但您可以尝试转换为Convert.ToInt32,并检查值是1还是0 由于错误与强制转换或转换问题无关,可能是因为无法找到或读取IsCancelled
希望这有帮助 响应写入标记%之前存在缺少的标记打开。可能是它导致了错误。您似乎也从DB获得了NULL值..我添加了缺少的标记,但没有解决我这样做的原因是它有错误:错误:无法从“object”转换为“string”@saeedgarmsiri您是否尝试添加.ToString?比如布尔。ParseValisCancelled。ToString@Amnesh Goel是的,我当然这么做了@saeedgarmsiri我已经更新了我的答案。。检查一下。。使用IIf@Amnesh Goel我做了,但使用单个qoute时有错误:错误:字符literalit中的字符太多它可以读取被取消,因为当我写下面的代码时,它应该是列数据。如果字段值为true,它在网格视图单元格中表示true
<asp:TemplateField HeaderText="کنسل شده" SortExpression="IsCancelled">
<ItemTemplate><%# (Boolean.Parse(Eval("IsCancelled").ToString())) ? "Yes" : "No" %></ItemTemplate>
</asp:TemplateField>
Protected Sub GridName_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridName.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.Cells(13).Text = "True" Then
e.Row.Cells(13).Text = "Yes"
Else
e.Row.Cells(13).Text = "No"
End If
End If
End Sub