我创建一个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
答案 0 :(得分:1)
在该语句的末尾添加.Text ...它不会使用<%# %>
表示法注入控件。它只会注入标记,因此您只需要注入文本。如果要注入控件,请点击ItemDataBound事件,然后可编程添加控件。
HTH。
答案 1 :(得分:1)
只需将标记直接添加到ItemTemplate即可。更改GetPriorityBox
方法以返回LiteralControl的Text属性。