Это строковый префикс, который добавляется к именам полей формы в шаблонах редактора. Причина, по которой это необходимо:
Допустим, вы создаете новую контентную часть с именем NoobsPart со свойством «Текст». И в типе контента «N00b», который содержит N00bsPart, вы также присоединяете BodyPart. BodyPart также имеет свойство под названием «Текст». Имена html-полей BodyPart и N00bsPart будут конфликтовать друг с другом при обратной передаче. Префикс решает проблему столкновения имен полей. Обычно префикс может быть установлен на имя детали, чтобы устранить неоднозначность и избежать конфликта. Я не уверен, используется ли префикс где-либо еще, но учитывая проблему, которую он решает, я бы подумал, что нет.
Следуя примерам кода ядра Orchard, я обычно устанавливаю префикс в качестве свойства класса в драйвере:
using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers;
namespace Orchard.Webshop.Drivers {
public class ProductDriver : ContentPartDriver<ProductPart> {
protected override string Prefix { get { return "ProductPart"; } }
protected override DriverResult Editor(ProductPart part, dynamic shapeHelper)
{
return ContentShape("Parts_Product_Edit", () => shapeHelper.EditorTemplate(TemplateName: "Parts/Product", Model: part, Prefix: Prefix));
}
protected override DriverResult Editor(ProductPart part, IUpdateModel updater, dynamic shapeHelper)
{
updater.TryUpdateModel(part, Prefix, null, null);
return Editor(part, shapeHelper);
}
}
}