我正在尝试使用模型 ListModel 作为通用列表模型。我想在页面输入
@Html.DisplayForModel()
但是,MVC 无法正确找到模板文件“ListModel.cshtml”。对于通用模型来说,它的工作方式必须有所不同。我应该如何命名模板文件才能正确定位它?
public class ListModel<T>
{
public IEnumerable<T> Models { get; set; }
public string NextPage { get; set; }
}
我希望它能寻找Shared/DisplayTemplates/ListModel.ascx
但事实并非如此。有人知道吗?
Edit:
我最终通过简单地删除通用参数来解决这个问题,如下所示。我确实想知道您是否仍然可以使用通用文件名。
public class ListModel
{
public IEnumerable Models {get;set;}
public string NextPage {get;set;}
}
作为解决方法,你可以装饰一下ListModel<T>
类与UIHint
属性强制它使用你想要的模板?
例如,
[UIHint("ListModel")]
public class ListModel<T>
{
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)