设置“可见”值以编程方式在 ASPX 页面中属性
我试图根据条件将标签的可见属性设置为 true 或 false。这是在 ASPX 页面中。我做错了什么并在执行时出错。
<td><asp:Label ID="Label23" runat="server" Text='CERTIFIED'
Visible='<%# DataBinder.Eval(Container.DataItem, "IsAuthorized") > 0%>'>
</asp:Label></td>
我收到的错误如下。
编译器错误消息:CS0019:运算符“>”不能应用于 'object' 和 'int' 类型的操作数
需要进行哪些更改?
当“IsAuthorized”大于零时,我需要做的就是将 LABEL 的可见属性设置为 true。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
那是因为你有语法错误,你这个傻兔子。
在这里,它应该是这样的:
你在某处有一个额外的 和
>
和一个0
。另外,由于您在
之间没有执行任何操作,因此您可以用结束斜杠将其关闭并跳过单独的结束标记。像这样
另外,有时尝试设置这样的可见属性会导致问题,程序可能会抱怨该值不是布尔值。您可能还想广告一个显式转换,如下所示:
That's because you have a syntax error, you silly bunny.
Here you are, it should be like this:
You had an extra
>
and a0
in there somewhere.Also, since you aren't doing anything between the
<asp:Label
and</asp:Label>
, you can close it with an end slash and skip a separate ending tag. Like this<asp:Label ... />
ALSO, sometimes trying to set a visible property like that causes problems, the program can complain that the value wasn't a Boolean. You might want to also ad an explicit conversion like this:
假设
IsAuthorized
是位类型,只需将其转换为布尔值即可:Assuming that
IsAuthorized
is a bit type, just cast it to a boolean:注意,在服务器端控件上,您可以这样做:
但是除非您在后面的代码中调用 DataBind,否则它将不起作用,例如在 Page_Load 中:
Note on a server side control you can do this:
But it won't work unless you call DataBind in the code behind, such as in Page_Load:
假设
IsAuthorized
是一个整数,您应该使用这个:Eval 返回一个
object
,因此您必须首先将其转换为integer
。Assuming
IsAuthorized
is an integer, you should use this:Eval returns an
object
, so you have to cast it to aninteger
first.