我想將模板參數傳遞給我的幫助器方法來呈現錯誤。我已經看到了幾個這樣做的例子,但似乎要求在調用helper時模板中的變量在範圍內。MVC Razor:如何引用Razor標記中的幫助參數?
例如Expression of HelperResult to format item from a list
我希望做一些事情,如:
public static MvcHtmlString ErrorBlock<TModel>(this HtmlHelper helper, TModel model, string @class = null, object context = null, string view = null, object attributes = null, Func<ErrorModel,HelperResult> errorTemplate = null)
where TModel : ErrorModel
...
@ShopMR.ErrorBlock(Model, errorTemplate: r => @<div>@r.Message</div>)
但我得到以下編譯器錯誤:
- 不能lambda表達式轉換爲預期委託類型,因爲 塊中的某些返回類型不是隱含的itly敞篷 爲委託返回類型
- 無法轉換lambda表達式鍵入「HelperResult」,因爲它不是一個委託類型
我試圖創建一個代表,但它導致了同樣的錯誤。這可能嗎?我的func是否應該返回可以編譯/評估爲Razor文本的其他類型?
解決了這個問題,雖然我希望有一個更酷的解決方案,仍然可以讓我利用編譯時檢查。非常感謝! –