2016-03-03 58 views
1
public class EpiBlock : SiteBlockData 
{ 
    [Display(Name = "SomeCommonData", GroupName = Global.GroupNames.Settings.General)] 
    [EditorDescriptor(EditorDescriptorType = typeof(RolesEditorDescriptor))] 
    public virtual string SomeCommonData { get; set; } 
} 

public class Controller : BlockControllerBase<EpiBlock> 
{ 
    private readonly IVmBuilder _vmBuilder; 

    public Controller(IVmBuilder vmBuilder) 
    { 
     _vmBuilder = vmBuilder; 
    } 

    public ActionResult Index(EpiBlock epiBlock, VmContext context) 
    { 
     Vm<EpiBlock> vm = _vmBuilder.CreateVm(epiBlock, context); 

     return PartialView(vm.ViewName, vm); 
    } 
} 

//如何episerver,登记和该控制器处理多个国家的区别块(与episerver9.1 C#)

//是否有可能用同一个控制器和页面处理扩展EpiBlockHungary这个块在哪里存在(对于EpiBlock和EpiBlockHungary)?

public class EpiBlockHungary : EpiBlock 
{ 
    [Display(Name = "SomeHungarianData", GroupName = Global.GroupNames.Settings.General)] 
    [EditorDescriptor(EditorDescriptorType = typeof(RolesEditorDescriptor))] 
    public virtual string SomeHungarianData { get; set; } 
} 

回答

1

您可以用TemplateDescriptor属性装点控制器及其继承属性设置为true:

[TemplateDescriptor(Inherited=true)] 
public class Controller : BlockControllerBase<EpiBlock> 
{ 
}