加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何在codebehind中更新dotnetnuke userprofile图像

发布时间:2020-12-16 06:38:00 所属栏目:asp.Net 来源:网络整理
导读:我正在构建我自己的“用户配置文件”模块,其中一个选项,用户可以更改其默认的dnn配置文件图像.我在“代码背后”这样做时遇到了问题.我正在使用c#. 这是我到目前为止: UserInfo myDnnUser = this.UserInfo;myDnnUser.Profile.InitialiseProfile(PortalId);my
我正在构建我自己的“用户配置文件”模块,其中一个选项,用户可以更改其默认的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使用的“文件”表时,它仍然是相同的(旧)文件名.

有任何想法吗?

解决方法

涉及三个表:UserProfile,ProfilePropertyDefinition和Files.

UserProfile存储ProfilePropertyDefinitions的PropertyValues.

“Photo”PropertyName的预期PropertyValue是对Files表的FileID引用,而不是文件名.在设置Photo之前,您需要获取FileID:

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

PhotoURL是一个只读属性,用于检索UserProfile的Photo属性的URL.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读