4

"user profile"オプションの1つである、ユーザーがデフォルトdnnのプロファイル画像を変更できる独自のモジュールを構築しています。「コードビハインド」でこれを行うのに問題があります。私はを使用してc#います。

これは私がこれまでに持っているものです:

UserInfo myDnnUser = this.UserInfo;
myDnnUser.Profile.InitialiseProfile(PortalId);

myDnnUser.Profile.SetProfileProperty("Photo", "new filename");
myDnnUser.Profile.SetProfileProperty("PhotoURL", "new url");

ProfileController.UpdateUserProfile(myDnnUser);

しかし、それは機能していません。dnnが使用する「ファイル」テーブルを表示すると、同じ(古い)ファイル名のままです。

何か案は?

4

1 に答える 1

8

関連する 3 つのテーブルがあります: UserProfileProfilePropertyDefinitionおよびFiles

UserProfile は、ProfilePropertyDefinitions の PropertyValues を格納します。

"Photo" に予期される PropertyValue PropertyName は、ファイル名ではなく、Files テーブルへの FileID 参照です。写真を設定する前に、FileID を取得する必要があります。

    var objFiles = new FileController();
    FileInfo objFile = objFiles.GetFile("filepath", PortalID);
    myDnnUser.Profile.Photo = objFile.FileId;
    ProfileController.UpdateUserProfile(myDnnUser);

PhotoURL は、UserProfile の Photo プロパティの URL を取得する読み取り専用プロパティです。

于 2011-10-14T14:34:04.640 に答える