【发布时间】:2018-06-28 06:01:44
【问题描述】:
<div style="border: 1px solid #ddd; width: 100%; text-align: center; height: 130px">
<asp:ImageButton
ID="imgDigitalDoc"
Width="100%"
Height="130px"
runat="server"
ImageUrl='<%# Convert.ToString(Eval("ImagePath"))=="jpgFormat.png" || "pdfFormat.png" ? "~/PocketData/Temp/" + Eval("PatID") + "/" + Convert.ToString(Eval("DocumentFileName")) : "~/assets/img/" + Convert.ToString(Eval("ImagePath")) %>'
ToolTip="View"
OnClick="imgDigitalDocOpen_Click"
/>
</div>
运算符“||”不能应用于 aspx 页面上的 'bool' 和 'string' 类型的操作数
【问题讨论】:
-
我的建议是将所有逻辑移动到您的 aspx 页面上的公共方法中,然后调用该方法。这样,您就可以依靠编译器获得指导,并且可以给方法起一个有意义的名称,以帮助下一个开发人员尝试了解这里应该发生什么。
-
是的,我已经看了 2 分钟,它是一团糟,一个完美的案例,你需要重新开始,让你自己轻松......还有@Andrew 所说的
-
好吧,您不能将
"pdfFormat.png"隐式转换为布尔值。Convert.ToString(Eval("ImagePath"))=="jpgFormat.png" || "pdfFormat.png"不问“Convert.ToString(Eval("ImagePath"))等于"jpgFormat.png"或"pdfFormat.png"。 -
您的错误在这里:检查条件运算符 Convert.ToString(Eval("ImagePath"))=="jpgFormat.png" || "pdfFormat.png" 什么时候应该是:Convert.ToString(Eval("ImagePath"))=="jpgFormat.png" || Convert.ToString(Eval("ImagePath"))=="pdfFormat.png"
-
@Ritesh
||左边的部分首先被评估为一个布尔值(真/假),然后,如果它是假的,则与“pdfFormat.png”进行或运算,它可以不是因为“pdfFormat.png”是一个字符串,而不是一个布尔值。当然,编译器可以在不运行应用程序的情况下确定这个问题,因此会出现消息。