0

我只想在用户登录时显示某个部分。我将此设置为部分视图。

@Html.Partial("ListPartial")

这部分我可以通过将所有内容包装在部分视图中来完成,如下所示:

@if (User.Identity.IsAuthenticated) { 
    <h1>Stuff I want to show<h1>
}

当用户登录时,UserController 中的代码如下所示:

return this.RedirectToAction<HomeController>(controller => controller.Index(uiUser));

所以,我想要“我想展示的东西”是一些用户帐户。此用户帐户信息在 AccountController 中访问,如下所示:

[HttpGet]
public ViewResult Accounts(Int64 userId)
{
    var serviceAccounts = _accountManager.GetAccounts(userId);
    var accounts = Mapper.Map<IEnumerable<ServiceModels.Account>,List<Models.AccountModel>>(serviceAccounts);
    return View(accounts);
} 

如何在仍然知道用户是否已通过身份验证的情况下将帐户信息获取到部分视图中?

4

2 回答 2

0

如果它们经过身份验证,则从您的局部调用 HtmlAction 并将其传递给您需要的参数(或者我错过了为什么您不能使用它?)

于 2012-07-20T03:51:46.727 回答
0

只需使您的局部视图强类型化

@model Namespace.AccountModel

并将帐户模型传递到您的局部视图中:

@Html.Partial("ListPartial", Model)
于 2012-07-20T09:01:47.767 回答