前段时间我开始使用SharePoint Web部件(Visual Web部件)。当我构建我的第一个Web部件时,我在PageLoad()上完成了所有数据绑定。
现在我开始构建一个自定义过滤器Web部件,它通过通信接口将过滤器选项发送到另一个Web部件。基本上,它工作正常,但我注意到接收filter-options(ConnectionConsumer)的方法在PageLoad之后运行。因此,如果我使用filter-web部分,DataBinding会运行两次(在PageLoad上并且在接收到FilterData之后,过滤器可以生效)。
所以我想除了PageLoad之外,还有一个更好的地方将数据绑定到我的Web部分。
现在我的问题是:我应该在哪里绑定数据?
答案 0 :(得分:1)
经验法则是在渲染之前绑定数据。改为覆盖PreRender事件并在那里执行绑定逻辑。
答案 1 :(得分:0)
我有一个类似的问题,我的页面加载被触发了两次。我刚评论出“Handles Me.Load”,它运作良好。 如果将AutoEventWireup设置为true,请确保不要手动将页面事件处理程序附加到事件。如果这样做,处理程序可能会被调用多次。 有关详细信息,请查看MSDN上的此链接:http://msdn.microsoft.com/en-us/library/system.web.configuration.pagessection.autoeventwireup(v=vs.110).aspx