2012-01-06 3 views
2

私はEPIserverの動的コンテンツコントロールを作成しようとしていますが、私が望むコンテンツは既に作成したユーザーコントロール(スライダー)で、動的コンテンツを挿入するまで私はそれを使用したいページ/エリアにコントロールします。これら3つの項目のヘッダとテキストボックスが表示されている、ではなく「:TopSlider CD」のうちEPIserverの動的コンテンツのユーザーコントロールをレンダリングする

<h3>Dynamic slider</h3> 
<TextBox runat="server" ID="txtTest" /> 
<cd:TopSlider runat="server" ID="MySlider"/> 

:私は今、私はそれが「静的な」内容を表示する作成したページに移動

、 、OnPageLoadでTextBoxのテキストを 'FooBar'に設定しましたが、これも表示されません。サーバー側には決して行きません。ブレークポイントを配置しようとしましたが、非トリガーです。 。 。

public partial class DynamicContentTest : System.Web.UI.UserControl 
    { 
     public IEnumerable<SliderPage> DataSource { get; set; } 

     protected override void OnLoad(EventArgs e) 
     { 
      base.OnLoad(e); 
      txtTest.Text = "FooBar"; 

      MySlider.DataSource = DataSource; 
      MySlider.DataBind(); 

     } 
    } 

DynamicContentTest.ascx:

<%@ Register TagPrefix="cd" TagName="TopSlider" Src="~/UserControls/TopSlider.ascx" %> 
<!-- Slider --> 
<h3>Dynamic slider</h3> 
<asp:TextBox runat="server" ID="txtTest" /> 
<cd:TopSlider runat="server" ID="mySlider"/> 
<!-- END Slider --> 

DynamicContentTest.ascx.csをロードされている

ユーザーコントロール:ここ

はDynamicContentにファイルのコードですDynamicContentControl:

[DynamicContentPlugIn(
     DisplayName = "Dynamic slider", 
     Description = "Displays a slider", 
     ViewUrl = "~/UserControls/DynamicContent/Custom/DynamicContentTest.ascx")] 
    public class DynamicSliderControl : UserControlBase 
    { 
     public PageReference SlidesRoot { get; set; } 

     public System.Web.UI.Control GetControl(EPiServer.PageBase hostPage) 
     { 
      var userControl = (UserControls.DynamicContent.Custom.DynamicContentTest)hostPage.LoadControl("~/UserControls/DynamicContent/Custom/DynamicContentTest.ascx"); 
      userControl.DataSource = SlidesRoot != null ? 
       SlidesRoot.GetChildrenOfType<SliderPage>() : null; 
      return userControl; 
     } 

     public bool RendersWithControl 
     { 
      get { return true; } 
     } 

     public string State { get; set; } 
    } 

私はガイドのように、これらの記事を使用:

Create EPiServer dynamic content with advanced settings

Creating simple Dynamic Content in EPiServer CMS 6 R2

答えて

2

あなたはEPiServerを使用しています。プロパティコントロールを動的コンテンツをレンダリングするために?

これを使用しない場合、EPiServerは動的コンテンツを傍受して適切にレンダリングする機会を持ちません。私たちは、私たちはまだEPiServerを回避したいページタイプビルダーを使用し

+0

私はそれを使用していません、それは私が使用すべきものですか? ImはEpiServerに若干新しかったので、避難所はどのような状況でもこれを以前に使用しました。 。 。 – Roise

+1

私は最終的にこれをテストすることに成功したので、これを答えとして受け入れますが、私たちはまだpagetypeビルダーを使用していますので、EPiServer:property.Butを回避したいと思います。問題。 PS:次回は誰かに答えると、より具体的になるはずです。 – Roise

0

:その場合は財産

thisリンクはあなたを助けるかもしれません。

関連する問題