1

任意の Controller で ActionResult を作成し、User.Identity.Name で PartialView を返すことができると言われました。次に、ユーザーの名前を表示するために、MasterPage で RenderPartialView を実行できます。私はそれを実装しようとしていましたが、システムが私の PartialView を認識していないというエラーが発生し続けました。誰かがそれを実装する方法を詳しく説明してもらえますか? どうもありがとうございました

残念ながら、このプロジェクトの構造上、ログオンはマスター内からレンダリングされません。WebConfig から呼び出され、AccountController で認証されます。

<authentication mode="Forms"> 
      <forms loginUrl="~/Account" timeout="2880"/> 
</authentication>
4

2 に答える 2

6

新しいMVCプロジェクトを作成するときにVSがポップする基本テンプレートにすでに実用的な例があります...site.masterには、LogOnUserControl部分ビューをレンダリングするHtml.RenderPartial( "LogOnUserControl")があります(ビュー/共有フォルダー)...ユーザーが認証されている場合、コントロールはUser.Identity.Nameを表示します...

これがあなたの言っていることではない場合を除いて、その場合はあなたの質問についてもう少し説明が必要だと思います:)

于 2009-12-08T22:22:04.813 に答える
4

新しいMVCプロジェクトを作成するときに、LogOnUserControl.ascxファイルを見ると、Request.IsAuthenticatedがtrueの場合にこのコード行が実行されることがわかります...

<%= Html.Encode(Page.User.Identity.Name) %>

Views \ Sharedディレクトリ内のSite.Masterから、LogOnUserControlが次のようなページにレンダリングされていることがわかります。

<div id="logindisplay">
    <% Html.RenderPartial("LogOnUserControl"); %>
</div> 
于 2009-12-08T22:24:28.270 に答える