Sitecore MVC禁用Web编辑

时间:2015-10-20 17:45:00

标签: sitecore sitecore8 sitecore-mvc

我想在使用Html.Sitecore().Field(string fieldName, Item item, object params)时禁用正在显示的字段的网页编辑,但我遇到了问题。以下内容会导致"参数计数不匹配"错误

@Html.Sitecore()
   .Field(item.InnerField.Name, item.InnerField.Item,
     new Sitecore.Collections.SafeDictionary<string, string>
     {
       {"class", classParam},
       {"disable-web-edit", pageEditorEnabled.ToString()}
     });

我无法使用匿名对象,因为disable-web-edit有连字符。可能还有一些我应该使用的其他关键字,但是那个字段渲染器使用的是iirc。

[TargetParameterCountException: Parameter count mismatch.]
   System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +14255904
   System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +96
   System.Reflection.RuntimePropertyInfo.GetValue(Object obj, Object[] index) +37
   Sitecore.Mvc.Helpers.TypeHelper.CopyProperties(Object source, SafeDictionary`2 target) +89
   Sitecore.Mvc.Helpers.SitecoreHelper.BeginField(String fieldName, Item item, Object parameters) +120
   Sitecore.Mvc.Helpers.SitecoreHelper.Field(String fieldName, Item item, Object parameters) +23

1 个答案:

答案 0 :(得分:10)

尝试在匿名对象中使用DisableWebEdit

@Html.Sitecore().Field("Field Name", new { DisableWebEdit = true })

您还可以为图片字段设置mw = 300, mh = 200

我不知道是否支持开箱即用的任何其他选项。

在字段渲染管道中无法识别的任何内容都将作为HTML属性添加到标记中。