1
我想在使用Html.Sitecore().Field(string fieldName, Item item, object params)
時禁用正在顯示的字段的網絡編輯,但我遇到問題。以下引發「參數計數不匹配」錯誤Sitecore MVC禁用網絡編輯
@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
你試過了@@ Html.Sitecore()。Field(「Field Name」,new {DisableWebEdit = true})'? –
剛剛做到了。這成功了謝謝。如果你想補充說,我會接受它。還有一個我們可以作爲參數傳遞的全面列表?是否我們通常可以傳遞給字段渲染器而不使用連字符? – Teeknow
注意:MVC會自動將具有下劃線的HTML參數轉換爲破折號 - 不知道這是否直接適用於此。 –