我正在尝试从一个类访问另一个类。我尝试了this question的帮助,但这是在其他方面。我有一个基类如下:
public class BasePage : System.Web.UI.Page
{
public int MemberUserId
{
get
{
MembershipUser user = Membership.GetUser();
if (user != null)
{
string memberUserId = user.ProviderUserKey.ToString();
CustomerBL clientsBL = new CustomerBL ();
Customers customer = CustomerBL .GetCustomer(memberUserId);
int customerId = customer .CustomerId;
return customerId;
}
return 0;
}
}
}
我希望将customerId提供给此课程如下:
public partial class showCustomer : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
LoadCustomerProfile();
}
}
LoadCustomerProfile()
{
BasePage basePage;
int customerId = basePage.customerId; //intellisense is not showing option of customerId
}
}
当我输入basePage.customerId时,intellisense不会显示customerId,并在我强行键入时给出错误。如果有人帮助我,我会感激不尽。 :)
答案 0 :(得分:4)
您尚未创建customerId
媒体资源。您已创建了MemberUserId
媒体资源。
也就是说,您的代码仍然无效,因为您已声明basePage
本地变量,但尚未为其分配值。你确定你不想要:
int customerId = MemberUserId;
即。问this
?
答案 1 :(得分:4)
首先不要制作BasePage变量,其次你有权访问MemberUserId而不是customerId
LoadCustomerProfile()
{
int customerId = this.MemberUserId; //this used for clarification
}
当然,您可以创建名为customerId
的其他BasePage字段,并在showCustomer页面中使用它。
我认为您正在尝试访问MemberUserId,因为它在这里返回customerId:
int customerId = customer .CustomerId;
return customerId;