我有3个webparts,它们一起将创建一个表中的表。 WebParts工作如下: LOGINWP:用户可以在2个文本字段中输入用户名和密码,然后单击“登录”按钮。这激活登录功能。此WebPart现在将提供用于检查用户是否登录的票证。

typewp:此Web部件在LoginWP提供WebPart时激活,并使用此登录票证获取文档类型并在ComboBoxList中加载这些类型。如果选择了文档类型,则此WebPart现在将提供票证和文档类型。

tablewp:当Typewp提供票证和文档类型时,此Web部件将激活。它使用两个变量将数据加载到表中。

单击登录按钮时,Typewp将自动选择第一个文档类型,从而激活表格WP。到目前为止,这一切都是预期的。现在,当我在ComboBoxList中选择一个不同的项目时,Typewp将丢失LoginWP作为它的提供商,因此丢失它的提供商。

在一些调试后,我设法找出在更改所选的组合毒制时调用temewp的CreateChildControls()。在此CreateChildControls中,它会检查LoginWP提供程序是否始终译文。此时它没有,所以功能停止。调用的下一个函数是LoginWP的CreateChildControls,它会创建提供者Typewp正在寻找。

所以我的问题是:如何在我机会在ComboBox中完成所选项目时,我如何防止登录WP重新创建,或者我可以在其他地方保存票数变量,这样它将是可用的,所以只要用户在页面上即可提供它?

有帮助吗?

解决方案

我追溯到错误并使用

CreateChildControls()
.

OnPreRender()
.

功能错误导致错误。我检查了CreateChildControl函数内的提供程序。但由于提供商的CreateChildControl函数未被调用,因此它无法找到它。将检查和变量调用移动到OnPrerender解决了错误。

许可以下: CC-BY-SA归因
scroll top