如何将参数传递给中继器中的用户控件
本文关键字:用户 控件 中继器 参数传递 | 更新日期: 2023-09-27 18:05:53
我有一个usercontrol它接受一些参数我需要在repeater中插入这个usercontrol并从List<>传递一个参数给每个usercontrol,我是这样做的
<asp:Repeater ID="winnersRepeater" runat="server">
<ItemTemplate>
<uc:myControl ID="myControl" NodeId="<%# DataBinder.Eval(Container.DataItem,"Id")%>" runat="server" />
</ItemTemplate>
</asp:Repeater>
我在PageLoad:
中做绑定List<Winner> winners = new List<Winner>();
//...
winnersRepeater.DataSource = winners;
winnersRepeater.DataBind();
不行,我得到的是Error creating usercontrol... The server tag is not well formed.
我该怎么做?由于
这里的技巧是使用引号-您在这里使用双引号来打开和关闭NodeId属性,并将字符串包含在表达式中。你应该在一个地方使用单引号,在另一个地方使用双引号。
您可以处理Repeater的ItemDataBound事件。在你的处理程序中,你应该能够做FindControl("myControl")并传递NodeId值给它,而不必在标记中声明它。