Ada*_*ley 6 c# asp.net user-controls
我目前有一个转发器控件,在itemtemplate里面我有一个usercontrol.此用户控件正确呈现,但我尝试将数据项分配给转发器控件中的属性.
<asp:Repeater ID="Repeater1" DataSourceID="EntityDataSource" runat="server">
<ItemTemplate>
<uc1:Request ID="Request1" runat="server" RequestId='<%# Eval("RequestId") %>' />
</ItemTemplate>
Run Code Online (Sandbox Code Playgroud)
RequestId只是一个Int32.它只是没有分配它.
我可以将eval放在usercontrol之外,只是在itemtemplate中它正确输出正确的id.
如果我删除整个eval并只输入一个数字,那么它可以正常工作.
任何帮助赞赏.
[更新]:问题已解决
我使用的是EntityDataSource,它会自动绑定到转发器.它在屏幕上打印出数据库中的所有信息,没有任何代码隐藏.但是当我把代码放在Repeater1.DataBind()之后; 然后开始工作.
我不知道为什么,但嘿,它已经解决了.它现在成功传递了价值.我想它与页面生命周期有关.
小智 4
如果你只是绑定 int 的中继器集合,你需要使用这个:
<uc1:Request ID="Request1" runat="server" RequestId='<%# Container.DataItem %>' />
Run Code Online (Sandbox Code Playgroud)
并且不要忘记为转发器或有转发器控件的页面调用 DataBind()。
| 归档时间: |
|
| 查看次数: |
2483 次 |
| 最近记录: |