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 に答える