Нужно добавить уникальный идентификатор свойства в закладке композитора, что это лучший способ сделать это, и вот моя попытка:добавить уникальное свойство идентификатора к блоку Composer EPiServer
[PageTypeProperty(
EditCaption = "UniqueID",
HelpText = "UniqueID",
Type = typeof(PropertyString),
//DisplayInEditMode=false,
Tab = typeof(ComposerTab))]
public virtual Guid UniqueID
{
get { return UniqueID; }
set { UniqueID = System.Guid.NewGuid(); }
}
Целевое поведение: каждый раз, когда новое текстовое поле добавляется на страницу, ему должен быть присвоен уникальный идентификатор.
Проблема с этим куском кода я не вижу уникальный идентификатор, введенный в текстовое поле, когда в Composer - Edit Mode (когда я проверить свойства этого блока контента)
Прокомментируйте правильно для установки этого свойства GUID и где. Благодаря!
Позже изменения:
http://tedgustaf.com/blog/2011/9/create-episerver-composer-function-with-page-type-builder/ Этот пример описывает мой подход
Block.cs
namespace MyProject.ComposerFunctions
{
[PageType("70421202Efdghajkfgkjd43535",
Name = "Block",
Description = "Block",
Filename = "Block.ascx")]
public class Block : BaseComposerFunctionData
{
[PageTypeProperty(
EditCaption = "UniqueID",
HelpText = "UniqueID",
Type = typeof(PropertyString),
//DisplayInEditMode=false,
Tab = typeof(ComposerTab))]
public virtual Guid UniqueID
{
get { return UniqueID; }
set { UniqueID = System.Guid.NewGuid(); }
}
}
}
Block.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Block.ascx.cs" Inherits="MyProject.ComposerControls.Block" %>
Block.ascx.cs
namespace MyProject.ComposerControls
{
public partial class Block : Dropit.Extension.Core.BaseContentFunction
{
protected override void OnLoad(EventArgs e)
{
if (!IsPostBack)
{
this.DataBind();
}
}
}
}
BaseContentFunction происходит от UserControl, IPageSource, IFunctionSource BaseComposerFunctionData происходит от TypedPageData
Этот код выглядит так, что это приведет к исключениям переполнения стека ... Где ваше поле поддержки для свойства? –
Тед: Я добавил детали в исходное сообщение. Отвечает ли это на ваш вопрос? – dear1