我目前有一个中继器控件,并且在itemtemplate中有一个用户控件。此用户控件呈现正确,但我想分配一个数据项到中继器控件中的一个属性。在ASP.NET中继器控件的usercontrol中动态分配属性
<asp:Repeater ID="Repeater1" DataSourceID="EntityDataSource" runat="server">
<ItemTemplate>
<uc1:Request ID="Request1" runat="server" RequestId='<%# Eval("RequestId") %>' />
</ItemTemplate>
的requestId只是一个Int32。它只是不分配它。
我可以把eval放在itemcontrol的usercontrol外面,它正确地输出正确的id。
如果我删除整个EVAL,只需键入一个数字,然后它工作正常。
任何帮助表示赞赏。
[UPDATE]:问题解决
在我正在使用EntityDataSource和此自动绑定到中继器。它从屏幕上的数据库中打印出所有信息,没有任何代码隐藏。但是当我把代码放在Repeater1.DataBind()后面时,然后它开始工作。
我不知道为什么,但嘿它已经解决了。它现在成功地通过了该值。我想这与页面生命周期有关。
没有任何工作仍在进行中。当我使用Eval时,RequestId不会被设置。当我在用户控件上方执行<%#Eval(“RequestId”)%>时,只需在开放空间中打印完美即可。如果我硬编码数字,例如RequestId =“2”它工作正常。但如果按上述方式完成则不起作用。 – 2010-12-13 13:55:03
您的代码中存在拼写错误。 %>之后不应该有结案吗? – Skorpioh 2010-12-13 09:56:44