私のSharePointページにあるSPDataSourceコントロールを検索しようとしています。私はおそらくうまく動作する次のコードを発見した、私はちょうどそれに渡すべきか分からない。私はより多くを持っているようSharePointページでのコントロールの検索
public static Control FindControlRecursive(Control Root, string Id)
{
if (Root.ID == Id)
return Root;
foreach (Control Ctl in Root.Controls)
{
Control FoundCtl = FindControlRecursive(Ctl, Id);
if (FoundCtl != null)
return FoundCtl;
}
return null;
}
私はそれがページ全体を検索したり、コントロールがしていることを非常に少なくとものContentPlaceHolder持っているのか分からない。
編集
が見えますここでの初歩的な問題。説明する方法はわかりませんが、コードを実行する前にページを開いているわけではありません。
using (SPWeb web = thisSite.Site.OpenWeb("/siteurl/,true))
私は以下のページを見つけようとしたときに、オブジェクト参照がオブジェクトのインスタンスに設定されていない状態になっています。私はちょうど種類のものを考え出すに沿ってつまずいてるよう
var page = HttpContext.Current.Handler as Page;
はおそらく、私はこれについて間違った道を行くよ、私はここに私の幼児期にいますよ!
ケアのようにそれを呼び出すこの1
を試してみてください? –
テンプレートからサイトを作成するリストのイベントハンドラがあります。テンプレートサイトのSPDataSourceをリストアイテムから引き継ぐデータで更新します。主に、SPDataSourceのSelectCommandを更新して、データをフィルタリングすることを検討しています。 – Mike