内联编码控件的属性

时间:2009-10-26 18:03:57

标签: asp.net

是否可以内联代码像字体粗体一样的控件,如linkbutton?

  

字体-粗体=“<%=(显示== 1)?   true:false%>“

这不起作用。

  

无法创建类型的对象   来自其字符串的'System.Boolean'   表示'<%=(显示== 2)?   真:假%GT;”对于'大胆'   属性。

4 个答案:

答案 0 :(得分:2)

您只能使用数据绑定表达式执行此操作:

Font-Bold="<%# (Display==1)? true:false %>"

请注意&lt;%#而不是&lt;%=

然后你必须在控件或其中一个容器上调用DataBind()。

答案 1 :(得分:0)

单引号尝试。

E.g。

Font-Bold='<%....

答案 2 :(得分:0)

不,您不能在Runat =“server”元素的属性上使用内联代码。

使用页面的PreRender事件。假设linkbutton有ID =“myLinkBut​​ton”: -

 myLinkButton.Font.Bold = (Display == 1);

答案 3 :(得分:0)

您可以使用自定义ExpressionBuilder添加此功能,但它不是标准配置。

使用CodeExpressionBuilder示例,您可以使用语法Text="<%$ Code: DateTime.Now %>"