通过数据绑定调用带参数的函数

时间:2011-04-18 15:19:41

标签: asp.net data-binding

好的,我正处于一个十字路口。请看下面的代码。我有一个数据中继器,在整个转发器中我想调用GetNavUrl,为它提供一个参数,该参数在我绑定的数据中找到。

NavigateUrl='<%# GetNavUrl(DataBinder.Eval(Container.DataItem,"ProductCode") %>'

所以,例如,我希望navigateURL等于GetNavUrl(123)的结果,任何想法? THX!

1 个答案:

答案 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);