这是HTML。我有一个包含用户控件的中继器。用户控件的属性在回发后丢失值
<asp:Repeater ID="rpNewHire" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<user:CKListByDeprtment ID = "ucCheckList"
DepartmentID= '<%# Eval("DepID")%>'
BlockTitle = '<%# Eval("DepName")%>'
runat = "server"></user:CKListByDeprtment>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
DepartmentID的是,我的用户控制内定义的一个属性。
int departmentID;
public int DepartmentID
{
get { return departmentID; }
set { departmentID = value; }
}
而且这是我正在试图访问它
protected void Page_Load(object sender, EventArgs e)
{
int test = departmentID;
}
页面加载后的第一次,DepartmentID的有一个值。但是,当页面回帖时,该值始终为。
是有道理的。我在全班使用变量departmentID。我用什么来代替?该属性即DepartmentID? – Richard77 2013-02-19 14:48:18
@ Richard77:是的,这就是为什么你应该偏好属性而不是字段。您可以稍后更改实施。使字段始终保密。 – 2013-02-19 14:49:31
合理。难怪,了解ASP.NET页面的生命周期是面试过程中的首要问题之一。非常感谢。 – Richard77 2013-02-19 16:44:37