2

EPIserver 動的コンテンツ コントロールを作成しようとしています。必要なコンテンツは、既に作成したユーザー コントロール (スライダー) です。使用したいページ/領域に動的コンテンツ コントロールを挿入するまで、すべてがうまく機能しているようです。それ。

作成したページに移動すると、「静的」コンテンツが表示されます。

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

これらの 3 つの項目のうち、ヘッダーとテキスト ボックスが表示されますが、「cd:TopSlider」は表示されません。OnPageLoad で、TextBox のテキストを「FooBar」に設定しましたが、これも表示されず、サーバーに送信されません。 -サイド、ブレークポイントを配置しようとしましたが、トリガーされません。. .

DynamicContent ファイルのコードは次のとおりです。

DynamicContentTest.ascx.cs が読み込まれるユーザー コントロール:

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 -->

動的コンテンツ コントロール:

[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; }
    }

これらの記事をガイドとして使用しました。

詳細設定を使用して EPiServer 動的コンテンツを作成する

EPiServer CMS 6 R2 での単純な動的コンテンツの作成

4

2 に答える 2

2

EPiServer:Property コントロールを使用して動的コンテンツをレンダリングしていますか?

これを使用しない場合、EPiServer は動的コンテンツをインターセプトして適切にレンダリングする機会がありません。

于 2012-01-06T14:17:19.970 に答える
0

pagetype ビルダーを使用しているため、まだ EPiServer:property を回避したいと考えています。

その場合、このリンクが役立つ場合があります。

于 2012-01-11T11:13:06.293 に答える