好的,我正处于一个十字路口。请看下面的代码。我有一个数据中继器,在整个转发器中我想调用GetNavUrl,为它提供一个参数,该参数在我绑定的数据中找到。
NavigateUrl='<%# GetNavUrl(DataBinder.Eval(Container.DataItem,"ProductCode") %>'
所以,例如,我希望navigateURL等于GetNavUrl(123)的结果,任何想法? THX!
答案 0 :(得分:1)
听起来您想要在UI中对子对象进行数据绑定?老实说,在这样的情况下,我发现避免在UI中进行这样的绑定(主要用于分离关注点)要好得多,而是在后面的代码中执行此操作。
myRepeater.ItemCreated += new ItemsCreatedEventHandler(whatever);
然后,在项目创建的事件处理程序中,找到您的控件并以编程方式分配该数据:
MyBindedObject dataItem = e.Item.DataItem as MyBindedObject;
HyperLink myLink = e.Item.FindControl("myControl") as HyperLink;
if(myLink != null)
myLink.NavigateUrl = GetNavUrl(dataItem);