2011-04-18 41 views
0

确定我正处于某个事物的十字路口。采取下面的代码gander。我有一个数据中继器,并且在整个中继器中,我想调用GetNavUrl,并提供一个在我绑定的数据中找到的参数。通过数据绑定调用带参数的函数

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

因此,举例来说,我想navigateURL等于GetNavUrl(123),任何想法的结果呢?谢谢!

回答

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); 
+0

感谢TEJS,如果我有我可以高清这样做的..只是希望能提供一些快速的数据绑定到一个已经存在的页面 – ewitkows 2011-04-18 15:34:30