質問

私は一緒にデータを含むテーブルを作成する3つのウェブパートがあります。 WebPartsは次のように機能します。 LoginWP:ユーザーが2つのTextFieldsでユーザー名とパスワードを入力してから、[ログイン]ボタンをクリックします。これにより、ログイン機能が有効になります。このWebPartは、ユーザーがログインしているかどうかを確認するために使用されるチケットを提供します。

typewp:このWebパーツは、LoginWPがWebPartを提供し、このログインチケットを使用してドキュメントの種類を取得し、それらをコンボボックスリストにロードできるときに起動します。ドキュメントタイプが選択されている場合、このWebPartはチケットと文書タイプの両方を提供します。

tablewp:typewpがチケットと文書タイプの両方を提供するときにこのWebパーツが有効になります。両方の変数を使用してデータをテーブルにロードします。

ログインボタンをクリックするとTypeWPは自動的に最初の文書タイプを選択し、TableWPを有効にします。今までにそれはすべて予想通りに機能します。今度はComboBoxListで別の項目を選択すると、TypeWPはそれがプロバイダとしてloginwpを失うため、プロバイダが失われます。

デバッグの後、選択したComboBoxitemを変更したときにTypeWPのcreateChildControls()が呼び出されたことを確認できました。このCreateChildControlsでは、LoginWPプロバイダーがエクステストしているかどうかを確認します。この時点ではそうではなく、関数は停止します。呼び出された次の関数はloginwpのcreateChildControlsで、プロバイダTypeWPが探していたプロバイダを作成します。

だから私の質問は:ComboBoxの選択されたアイテムをチャンスまたは私は他の場所に選択されたアイテムを他の場所に保存することができるように、LoginWPが自分自身を再作成するのを防ぐことができますか。

役に立ちましたか?

解決

エラーを取り戻し、を使用しました

CreateChildControls()
.

OnPreRender()
.

関数が間違ってエラーを引き起こします。CreateChildControl関数内のプロバイダをチェックしました。しかし、プロバイダのCreateChildControl関数が呼ばれていないので、それは見つかりませんでした。チェックを移動し、変数呼び出しがOnPrerenderにエラーを解決しました。

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top