I have my own html helper extension, which I use this way
<%=Html.LocalizableLabelFor(model => model.Reason_ID, Register.PurchaseReason) %>
which declared like this.
public static MvcHtmlString LocalizableLabelFor<T>(this HtmlHelper<T> helper, Expression<Func<T, object>> expr, string captionValue) where T : class {
return helper.LocalizableLabelFor(ExpressionHelper.GetExpressionText(expr), captionValue);
}
but when I open it in debugger expr.Body.ToString() will show me Convert(model.Reason_ID). But should model.Reason_ID.
That’s a big problem, because ExpressionHelper.GetExpressionText(expr) returns empty string.
What strange magic is that? How can I get rid of it?
The problem lies with your Func generic types. Replace
Func<T,object>withFunc<T,S>and you’ll be good to go: