现在我有两张表,User 和 Area 我在建立数据库的时候不建立两张表的FK约束,我想在代码中实现两张表的关联,如何实现? 比如我要将用户信息展示在登录后的页面上面 但是我发现我怎么也获取不到AreaId这个值(前提是这两个表没有建立关联,但是我在设计实体类的时候User表中有个字段Area) //用户表
public class User
{
public User() { } private string userId; public string UserId
{
get { return userId; }
set { userId = value; }
}
private string name; public string Name
{
get { return name; }
set { name = value; }
}
private string passWord; public string PassWord
{
get { return passWord; }
set { passWord = value; }
}
//用户权限
private string limitLevel; public string LimitLevel
{
get { return limitLevel; }
set { limitLevel = value; }
}
private Area area; //= new Area();//FK public Area Area
{
get
{
area = new Area();
return area;
}
set { area = value; }
} }
//地区表 public class Area
{
public Area() { } //地区代码
private string areaId; public string AreaId
{
get { return areaId; }
set { areaId = value; }
} //地区名称
private string areaName; public string AreaName
{
get { return areaName; }
set { areaName = value; }
}
}
//页面后台代码
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<table style="width:100%" cellspacing="1" class="style_table" align="center">
<tr>
<td class="style6" style="height:30px; font-size: large; font-weight: bold;">帐号信息</td>
</tr>
<tr>
<td class="style8">
<table style="width: 100%" cellspacing="1" class="style9">
<tr>
<td class="style7" style="width: 221px">帐号:</td>
<td class="style7" style="width: 221px">
<asp:Label ID="lblUserId" runat="server" Text=""></asp:Label></td>
</tr>
<tr>
<td class="style7" style="width: 221px">所属地区:</td>
<td class="style7" style="width: 221px">
<asp:Label ID="lblAreaId" runat="server" Text=""></asp:Label></td>
</tr>
<tr>
<td class="style7" style="width: 221px">姓名:</td>
<td class="style7" style="width: 221px">
<asp:Label ID="lblName" runat="server" Text=""></asp:Label></td>
</tr>
<tr>
<td class="style7" colspan="2" style="width: 221px; padding-left:590px">
【<asp:HyperLink ID="hlEditPwd" runat="server" NavigateUrl="~/change_pwd.aspx">修改密码</asp:HyperLink>】</td>
</tr>
</table>
</td>
</tr>
</table>
</asp:Content>
public class User
{
public User() { } private string userId; public string UserId
{
get { return userId; }
set { userId = value; }
}
private string name; public string Name
{
get { return name; }
set { name = value; }
}
private string passWord; public string PassWord
{
get { return passWord; }
set { passWord = value; }
}
//用户权限
private string limitLevel; public string LimitLevel
{
get { return limitLevel; }
set { limitLevel = value; }
}
private Area area; //= new Area();//FK public Area Area
{
get
{
area = new Area();
return area;
}
set { area = value; }
} }
//地区表 public class Area
{
public Area() { } //地区代码
private string areaId; public string AreaId
{
get { return areaId; }
set { areaId = value; }
} //地区名称
private string areaName; public string AreaName
{
get { return areaName; }
set { areaName = value; }
}
}
//页面后台代码
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<table style="width:100%" cellspacing="1" class="style_table" align="center">
<tr>
<td class="style6" style="height:30px; font-size: large; font-weight: bold;">帐号信息</td>
</tr>
<tr>
<td class="style8">
<table style="width: 100%" cellspacing="1" class="style9">
<tr>
<td class="style7" style="width: 221px">帐号:</td>
<td class="style7" style="width: 221px">
<asp:Label ID="lblUserId" runat="server" Text=""></asp:Label></td>
</tr>
<tr>
<td class="style7" style="width: 221px">所属地区:</td>
<td class="style7" style="width: 221px">
<asp:Label ID="lblAreaId" runat="server" Text=""></asp:Label></td>
</tr>
<tr>
<td class="style7" style="width: 221px">姓名:</td>
<td class="style7" style="width: 221px">
<asp:Label ID="lblName" runat="server" Text=""></asp:Label></td>
</tr>
<tr>
<td class="style7" colspan="2" style="width: 221px; padding-left:590px">
【<asp:HyperLink ID="hlEditPwd" runat="server" NavigateUrl="~/change_pwd.aspx">修改密码</asp:HyperLink>】</td>
</tr>
</table>
</td>
</tr>
</table>
</asp:Content>
{
get
{
area = new Area();
return area;
}
set { area = value; }
}你只new Area(),当然什么也没有。。至少,你应该new Area()的时候根据用户ID查询出区域吧。
ublic partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
//User user = (User)Session["CurrentUser"];//获取登录信息
//Response.Write("<script>alert('" + user + "')</script>");
DisplayInfor();
}
} protected void DisplayInfor()
{
User user = new User();
if (Session["CurrentUser"] == null)
{
Response.Redirect("~/login.aspx");
}
user = (User)Session["CurrentUser"];
this.lblUserId.Text = user.UserId;
this.lblAreaId.Text = user.Area.AreaName;
//Response.Write("<script>alert('" + user.Area.AreaName + "')</script>");
this.lblName.Text = user.Name;
}