1

MVC2なので、違うのかはわかりません。ユーザーがログインしたときにページの右上にあるユーザー名をクリックすると、詳細 (電子メール、パスワード変更リンク、プロフィール情報など) を表示するページに移動するようにページを追加しようとしています。 ..)。これを行うために aspnet MembershipService を使用しようとしています。

4

2 に答える 2

0

これは 1.0 と同じで、ここで質問されているとおりです: ASP.NET MVC で現在のユーザーを取得する方法

于 2009-11-19T16:17:50.000 に答える
0

コントローラーアクションで次のようなことを行います:

string id = HttpContext.User.Identity.Name.ToString();

ProfileBase profileBase;
if (!String.IsNullOrEmpty(id))
       profileBase = ProfileBase.Create(id);
else
       profileBase = HttpContext.Profile as ProfileBase;

profileBase オブジェクトを使用すると、すべてのプロファイル属性を取得できます。

profileBase.GetPropertyValue("PersonalInformation.FirstName")

これらのプロパティを使用して、カスタム ビュー モデル オブジェクトを埋めることができます。次に例を示します。

public class ProfileInformation
{
   public string FirstName { get; set; }
}

それをビューに渡します:

return View(profileInformation);

ビューでは、次のような ProfileInformation オブジェクトを受け取ることを宣言します。

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
    Inherits="System.Web.Mvc.ViewPage<AzureBright.Models.ProfileInformation>" %>

次に、次のようなエディター フィールドを生成します。

<%= Html.EditorFor(profile => profile)%>

これがあなたが知りたかったことであることを願っています

于 2009-11-20T13:44:30.733 に答える