2

我一定在这里错过了一些愚蠢的东西,但我看不到它。我的工作在他们的网站上使用内联代码,例如:

<panel runat="server" id="myid" visible='<%# MyboolVal %>'>
    some stuff
</panel>

这似乎对他们很有用,当他们的条件得到满足时,面板就会显示出来。

我正在尝试在我家里的一个网站上使用类似的方法(它是星期五晚上,所以此时询问我的老板并不是最好的主意)。我根本无法让它输出任何东西。我在可见字段中尝试过它不起作用,所以我想我会让它在屏幕上写一些东西:

<p>some text <%# String.Format("meeee {0}", Mybool) %></p>

但是我没有从内联代码中得到任何输出。“一些文本”出现但没有“meeee”或布尔值。

我正在用户控件中执行此操作,此时但不要想象那会是原因。

请问有什么想法吗?

谢谢

编辑....

好的,感谢 Freddy Rios 的回复,我可以让文本出现,但是当我尝试时:

Visible='<%= mybool %>'

我得到以下编译错误:

无法根据可见属性的字符串表示创建 System.boolean 类型的对象。

我对到底发生了什么感到困惑。在我不明白的引擎盖下一定有一部分过程。

编辑2:

我在第 123 行得到错误:

<fieldset class="myclass" id="projectarea" runat="server" visible='<%= ShowProjectSearchArea %>'>

ShowProjectSearchArea 是我的布尔值,设置为 false。

如果我双击错误列表窗口中的错误,我会在弹出窗口中看到以下内容,这是我以前从未见过的:

  Cannot open file '%1'. It might not be in the solution.
4

3 回答 3

14

<%#是数据绑定标签,用于为服务器端控件设置值,尤其是数据绑定控件。

<%=是 的简写Response.Write(),它将值写入输出。所以我们将它与静态 html 元素一起使用。

于 2009-12-05T00:16:22.097 回答
10

尝试在您的版本中使用 = 而不是 # :

<p>some text <%= String.Format("meeee {0}", Mybool) %></p>

# 用于数据绑定,因此在原始代码中必须在某处调用 DataBind。

于 2009-12-04T23:51:08.020 回答
0

我认为这个问题是因为可见属性期望字符串类型的值,并且您尝试使用 bool.try 将其设置为字符串

干杯

于 2009-12-05T00:39:05.327 回答