2
我只想显示某个项目模板,如果对象的CRMID是一个可以为空的字符串。错误试图评估布尔?
,如果为空,我不希望他们显示此项目模板:
<asp:TemplateField HeaderText="">
<ItemTemplate>
<a href="#myModal" id='rm_btn' runat="server" role="button" class="close custom-close" onclick="showModal('#myModal')" onserverclick="rmbtn"
visible='<%# (bool)(DataBinder.Eval(Container.DataItem, "CRMID") == null) ? "true" : "false" %>'>
×</a>
</ItemTemplate>
</asp:TemplateField>
不过,我得到以下错误:
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS0030: Cannot convert type 'string' to 'bool'
Source Error:
Line 136: <asp:TemplateField HeaderText="">
Line 137: <ItemTemplate>
Line 138: <a href="#myModal" id='rm_btn' runat="server" role="button" class="close custom-close" onclick="showModal('#myModal')" onserverclick="rmbtn"
Line 139: visible='<%# (bool)(DataBinder.Eval(Container.DataItem, "CRMID") == null) ? "true" : "false" %>'>
Line 140: ×</a>
我不知道我做错了.. 。
感谢
你试过从你的值中删除引号吗? “true”:“false” - >'? true:false'。还有其他方法可以解决这个问题,我无法测试它们,但是已经在下面的答案中编译了它们。 – Alex 2013-04-10 15:14:14
现在,你发送真/假作为字符串。 C#不能直接将它们转换为像javascript这样的布尔值。我首先想到的是从那个“可见”任务中删除引号。 – krillgar 2013-04-10 15:14:38