为什么我无法评估CssClass中的函数?

时间:2014-04-30 08:02:51

标签: c# .net webforms eval linkbutton

我在Repeater中,我试图从CssClass调用IsExperienced函数(我通常这样做):

<asp:LinkButton 
    ID="CheckBox" 
    CssClass='wall-item-checkbox <%# IsExperienced() %>' 
    runat="server" 
    onclick="CallFunction">
    &nbsp;
</asp:LinkButton>

但这次它在HTML上打印class=wall-item-checkbox <%# IsExperienced() %>

1 个答案:

答案 0 :(得分:2)

首先看起来像一个奇怪的方法,因为你可以在转发器ItemDataBound事件中访问该控件,更好地将代码与标记分开。

为什么不这样做呢:

protected void fooRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
    {
        LinkButton lnkButton = (LinkButton)e.Item.FindControl("CheckBox");
        lnkButton.CssClass += string.Format(" {0}", IsExperienced());
    }
}