gpt4 book ai didi

asp.net-mvc-2 - 为什么 model => model.Reason_ID 变成 model =>Convert(model.Reason_ID)

转载 作者:行者123 更新时间:2023-12-02 02:49:10 30 4
gpt4 key购买 nike

我有自己的 html 帮助器扩展,我用这种方式

<%=Html.LocalizableLabelFor(model => model.Reason_ID, Register.PurchaseReason) %>

这样声明的。

 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);
}

但是当我在调试器中打开它时,expr.Body.ToString() 将显示Convert(model.Reason_ID)。但应该model.Reason_ID。这是一个大问题,因为 ExpressionHelper.GetExpressionText(expr) 返回空字符串。

这是什么奇怪的魔法?我怎样才能摆脱它?

最佳答案

问题出在您的 Func 泛型类型上。替换Func<T,object>Func<T,S>你就可以开始了:

public static MvcHtmlString LocalizableLabelFor<T,S>(this HtmlHelper<T> helper, Expression<Func<T, S>> expr, string captionValue) where T : class
{
// ... code ...
}

关于asp.net-mvc-2 - 为什么 model => model.Reason_ID 变成 model =>Convert(model.Reason_ID),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2935261/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com