我在protected void Page_Load中可以取得用户ID,protected void Page_Load(object sender, EventArgs e)
{ // 在此处放置用户代码以初始化页面
if (Page.IsPostBack == false)
{
//Panel1.Visible = false;
//首先取得用户ID
string UserName = Profile.UserName;
MembershipUser mu = Membership.GetUser(UserName);
if (mu == null)
{
Response.Redirect("~/Message.aspx?msn=您不能修改别人的广告"); }
else
{
Guid UserId = (Guid)mu.ProviderUserKey; string stUserId=UserId.ToString();
}
但在public static string中写以下代码就出错, public static string GetUserId
{
get
{
//首先取得用户ID
string UserName = Profile.UserName;
MembershipUser mu = Membership.GetUser(UserName);
if (mu == null)
{
Response.Redirect("~/Message.aspx?msn=您不能修改别人的广告"); }
else
{
Guid UserId = (Guid)mu.ProviderUserKey; string stUserId=UserId.ToString();
}
}
}取不了用户ID,请问我应怎么写?我需要将用户ID设为本页全局变量,在本页任何地方调用。急急急。
{ // 在此处放置用户代码以初始化页面
if (Page.IsPostBack == false)
{
//Panel1.Visible = false;
//首先取得用户ID
string UserName = Profile.UserName;
MembershipUser mu = Membership.GetUser(UserName);
if (mu == null)
{
Response.Redirect("~/Message.aspx?msn=您不能修改别人的广告"); }
else
{
Guid UserId = (Guid)mu.ProviderUserKey; string stUserId=UserId.ToString();
}
但在public static string中写以下代码就出错, public static string GetUserId
{
get
{
//首先取得用户ID
string UserName = Profile.UserName;
MembershipUser mu = Membership.GetUser(UserName);
if (mu == null)
{
Response.Redirect("~/Message.aspx?msn=您不能修改别人的广告"); }
else
{
Guid UserId = (Guid)mu.ProviderUserKey; string stUserId=UserId.ToString();
}
}
}取不了用户ID,请问我应怎么写?我需要将用户ID设为本页全局变量,在本页任何地方调用。急急急。
protected void int userid;
再引用;
ViewState[“ID”]=赋值;
用的时候:
...=ViewState["ID"].ToString();
======================不应该设计成Static的类成员,直接用简单的类成员就好了。private string _userID;protected void Page_Load(object sender, EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!Page.IsPostBack)
{
//首先取得用户ID
string UserName = Profile.UserName;
MembershipUser mu = Membership.GetUser(UserName);
if (mu == null)
{
Response.Redirect("~/Message.aspx?msn=您不能修改别人的广告");
}
else
{
Guid UserId = (Guid)mu.ProviderUserKey;
_userID= UserId.ToString();
}
}在你Page_Load的时候初始化_userID就可以了,页面中其他方法里就可以直接用到_userID了。
Page_Load是页面每次被访问最先走到的方法。
public static string CurrentPath = @"X:\XX"+@"\"+stUserId;//这样不行
private string stUserId;//在其它方法里使用CurrentPath时,都没有把srUserId加上,而仅仅得出X:\XX\
在线等。
先取得用户ID,
private string stUserId;//
//然后再设置路径,即固定目录+用户ID生成的路径public static string CurrentPath = @"X:\XX"+@"\"+stUserId;//可CurrentPath并没有得到srUserId的值,问题出在这protected void Page_Load(object sender, EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!Page.IsPostBack)
{
//首先取得用户ID
string UserName = Profile.UserName;
MembershipUser mu = Membership.GetUser(UserName);
if (mu == null)
{
Response.Redirect("~/Message.aspx?msn=您不能修改别人的广告");
}
else
{
Guid UserId = (Guid)mu.ProviderUserKey;
_userID= UserId.ToString();
}
}
{
get
{
//首先取得用户ID
string UserName = Profile.UserName;
MembershipUser mu = Membership.GetUser(UserName);
if (mu == null)
{
Response.Redirect("~/Message.aspx?msn=您不能修改别人的广告"); }
else
{
Guid UserId = (Guid)mu.ProviderUserKey; string stUserId=UserId.ToString();
} //这里加一句... return stUserId;
}
}
同时,你用public的string的时候应该有Set吧.不然,这个public 应该放在,public class 类名,,中...你申明的是一个静态的string 也应该反回一个string类型.