从Umbraco(在Usercontrol中)的成员中获取属性

本文关键字:成员 获取 属性 Usercontrol Umbraco | 更新日期: 2023-09-27 17:49:02

我已经做了一个Umbraco网站,我有一些成员,我需要在一个用户控制(ascx)页面显示信息。但我唯一能找到的是旧的umbraco api, m.GetProperty();方法如下:

foreach (Member m in Member.GetAll) {
    m.getProperty("danceStyles");
}

但是visual studio说Member已经过时了,我应该使用Membership代替,但我不知道如何通过它从成员获得通用属性。我唯一能得到的是Username, EmailPassword,而不是我在umbraco中定义的属性…

从Umbraco(在Usercontrol中)的成员中获取属性

是的,Member.GetAll已经过时了,但我想你可以使用Member.GetAllAsList()这个方法是在List中获取成员,这个方法对我有用

foreach (var member in Member.GetAllAsList())
{
    // to get Property
    var property = member.getProperty("danceStyles");
    // to get Property Value
    var propertyValue = member.getProperty("danceStyles").Value;
}

成员的默认属性,如Login, Email和Password可以很容易地通过。net属性引用,但是正如你注意到的,自定义属性只能通过字符串访问。

getProperty()方法返回一个umbraco.cms.businesslogic.property.Property对象,所以如果你想获得/设置你所做的自定义属性的实际值,只需访问[umbraco]属性的Value [.net]属性,如下所示:

m.getProperty("danceStyles").Value