我有一个名为ProfileInfo.aspx的页面,代码绑定看起来像这样 -
using System;
using System.Web;
namespace myservice
{
public partial class ProfileInfo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// if no postback but user is authenticated, grab info from database
if (!IsPostBack)
{
if (System.Web.Profile.**IsAnonymous** == false)
{
}
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
}
}
}
我从Profile.IsAnonymous语句中收到错误,如下所示 -
名称空间'System.Web.Profile'中不存在类型或命名空间名称'IsAnonymous'(您是否缺少程序集引用?)
我做错了什么?我是否需要向Web应用程序项目添加.NET dll引用?我试图寻找System.Web.Profile但没有这样的DLL。请提前帮助和谢谢。
答案 0 :(得分:1)
您不需要装配参考。
System.Web.Profile
程序集中存在System.Web
名称空间(默认情况下已添加到Web应用程序中)。
IsAnonymous
是ProfileInfo
类的属性。
这样做:
if (Profile.IsAnonymous == false)
{
// your code here
}
取自MSDN:
当您的应用程序运行时,ASP.NET 创建一个ProfileCommon类 是一个动态生成的类 继承ProfileBase类。该 动态ProfileCommon类包括 从配置文件创建的属性 您指定的属性定义 你的应用配置。一个 这个动态ProfileCommon的实例 然后将class设置为的值 当前的配置文件属性 HttpContext并可用于页面 在你的申请中。
答案 1 :(得分:1)
您可以使用Context.Profile.IsAnonymous,但您的意图可能是从个人资料中读取值。
您无法在网络应用程序中直接使用个人资料。见How to assign Profile values?
答案 2 :(得分:0)
System.Web.Profile是一个名称空间,而不是一个类。您需要引用实际的配置文件来检查它是否是匿名的。
答案 3 :(得分:0)
尝试
Context.Profile.IsAnonymous