gpt4 book ai didi

c# - MVC 4 - 如何将模型数据传递给局部 View ?

转载 作者:IT王子 更新时间:2023-10-29 04:10:24 26 4
gpt4 key购买 nike

我正在构建一个配置文件页面,其中包含许多与特定模型(租户)相关的部分 - 关于我、我的偏好 - 诸如此类。这些部分中的每一个都将是一个部分 View ,以允许使用 AJAX 进行部分页面更新。

当我在 TenantController 中单击 ActionResult 时,我能够创建一个强类型 View ,并且模型数据会很好地传递到 View 。我无法通过局部 View 实现此目的。

我创建了一个局部 View _TenantDetailsPartial:

@model LetLord.Models.Tenant
<div class="row-fluid">
@Html.LabelFor(x => x.UserName) // this displays UserName when not in IF
@Html.DisplayFor(x => x.UserName) // this displays nothing
</div>

然后我有一个 View MyProfile 将呈现提到的部分 View :

@model LetLord.Models.Tenant
<div class="row-fluid">
<div class="span4 well-border">
@Html.Partial("~/Views/Tenants/_TenantDetailsPartial.cshtml",
new ViewDataDictionary<LetLord.Models.Tenant>())
</div>
</div>

如果我将代码包装在 _TenantDetailsPartial 中的 DIV 内 @if(model != null){} 页面上不会显示任何内容,所以我猜有一个空模型被传递给 View 。

当我从 ActionResult 创建强类型 View 时,“ session ”中的用户如何被传递到 View ?如何将“ session ”中的用户传递给不是从 ActionResult 创建的局部 View ?如果我在这个概念上遗漏了什么,请解释。

最佳答案

您实际上并没有将模型传递给 Partial,您传递的是 new ViewDataDictionary<LetLord.Models.Tenant>() .试试这个:

@model LetLord.Models.Tenant
<div class="row-fluid">
<div class="span4 well-border">
@Html.Partial("~/Views/Tenants/_TenantDetailsPartial.cshtml", Model)
</div>
</div>

关于c# - MVC 4 - 如何将模型数据传递给局部 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15148103/

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