我正在尝试访问主类(模型)中的类属性。
尝试通过 @Html.RenderPartial 进行此操作,但似乎无法在局部 View 中访问类中的类 - 我在如何访问类列表属性方面哪里出错了?
主 cshtml
@model Project.Models.BaseClass
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title></title>
</head>
<body>
<div class="ui-block-a">
<p>Heading</p>
<span>@{Html.RenderPartial("~/View/Path", Model);}</span>
</div>
</body
</html>
局部 View - 不起作用
@model Project.Models.BaseClass.ChildClass
型号
public class BaseClass
{
public List<ChildClass> childclasslist {get;set;}
}
public class ChildClass
{
public string name {get;set;}
}
最佳答案
在您的主视图中,您拥有类型为 BaseClass
的模型。所以声明
@{Html.RenderPartial("~/View/Path", Model);}
您正在为部分 View 提供模型 BaseClass
。
但是你的部分 View 需要一个类型的模型
Project.Models.BaseClass.ChildClass
(甚至不存在,它将是 Project.Models.ChildClass
)。
有两种选择:
更改局部 View :
@model Project.Models.BaseClass
并像访问您的列表一样
Model.childclasslist
或
更改调用以呈现局部 View :
@{Html.RenderPartial("~/View/Path", Model.childclasslist);}
和你的局部 View :
@model List<Project.Models.ChildClass>
关于c# - MVC 使用 RenderPartial 访问类 List,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29677344/