动态显示GridView中的LiteralControl

时间:2011-09-29 15:28:59

标签: c# asp.net controls repeater

我创建一个html并将其设置为literalControl。 然后我试图在转发器的ItemTemplate中插入这个literalControl。

但是当我这样做时,它被视为“System.Web.UI.LiteralControl”文本,而不是内部的html。

以下是代码:

<asp:Repeater>
    //SomeColumns
    <ItemTemplate>
        <%# GetPriorityBox(DataBinder.Eval(Container.DataItem, "StartDate"),
                           DataBinder.Eval(Container.DataItem, "EndDate") %>
    </ItemTemplate>
</asp:Repeater>

从浏览器中可以看到:

SomeColumn | SomeColumn | System.Web.UI.LiteralControl

2 个答案:

答案 0 :(得分:1)

在该语句的末尾添加.Text ...它不会使用<%# %>表示法注入控件。它只会注入标记,因此您只需要注入文本。如果要注入控件,请点击ItemDataBound事件,然后可编程添加控件。

HTH。

答案 1 :(得分:1)

只需将标记直接添加到ItemTemplate即可。更改GetPriorityBox方法以返回LiteralControl的Text属性。