2016-12-22 7 views
-2

ASP.NETのページでDevExpress ASPxWebControlsをすべて検索するにはどうすればよいですか?Devexpressページ上のすべてのコントロールを検索

私はこのコードを試してみました:

foreach (var item in Page.Controls) 
{ 
    if (item is ASPxWebControl) 
    { 
     (item as ASPxWebControl).Theme="Metropolis"; 
    } 
}  

をしかし、それは働いていません。

+1

「動作していません」と記述します。あなたのコードに到達していますか?例外がスローされていますか?それはあなたが望むものの一部ではありますが、すべてではありませんか?具体的にして、漠然とした「それは機能していません」という声明が意味することを私たちが知っていると想定しないでください。 – mason

+0

こんにちは、情報が不足して申し訳ありません。このコードは、masterpageコントロールのみを返します。私は解決策を見つけた。 Htmlformコントロール内のすべてのdevexpressコントロール。マスターページコントロール下のHtmlformコントロール。 – UgurKaan

+0

私は明日ここにコードを入れます。(私のPCはここにいません)英語は申し訳ありません:)良い一日を – UgurKaan

答えて

0

私は解決策

private void changeTheme()//this metod working in MasterPage. 
 
     { 
 
      for (int i = 0; i < Page.Controls[0].Controls.Count; i++)//returns masterpage 
 
      { 
 
       if (Page.Controls[0].Controls[i].GetType().ToString() == "System.Web.UI.HtmlControls.HtmlForm")//find htmlform in masterpage 
 
       { 
 
        foreach (var item in Page.Controls[0].Controls[i].Controls)//find all controls in htmlform 
 
        { 
 
         if (item is ASPxWebControl)//reach all devexpress controls 
 
          (item as ASPxWebControl).Theme = "Metropolis";//change their theme 
 
        } 
 
        break; 
 
       } 
 
      } 
 
      for (int i = 0; i < this.ContentPlaceHolder1.Controls.Count; i++)//find derived page's controls from masterpage 
 
      { 
 
       if (this.ContentPlaceHolder1.Controls[i] is ASPxWebControl)//and reach them 
 
        (this.ContentPlaceHolder1.Controls[i] as ASPxWebControl).Theme = "Metropolis"; 
 
      } 
 
     }

は、このコードはマスターページ内のすべてのDevExpress社のコントロールを検索し、そのテーマを変更見つけました。

関連する問題