我有一个具有以下基本结构的 MVC 用户控件:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Decimal>" %>
<%= Math.Round(Model) %>
当我使用它时,它给出了这个错误消息:
编译器错误消息:CS0452:
类型“decimal”必须是引用
输入以便将其用作参数
泛型类型或方法中的“TModel”
'System.Web.Mvc.ViewUserControl'
有没有办法让它工作(也许以某种方式欺骗框架将 Decimal 视为引用类型?)或者我正在尝试做的事情根本上是错误的?
我建议您将值类型包装在 ViewModel 中。这将为将来提供一定的灵活性(可能需要也可能不需要)。
public class MyUserControlViewModel
{
public Decimal MyValue { get; private set; }
public MyUserControlViewModel(Decimal dec)
{
MyValue = dec;
}
}
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyUserControlViewModel>" %>
<%= Math.Round(Model.MyValue) %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)