Это 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 имеет значение. Однако, когда страница Posts back, это значение всегда .
Имеют смысл. Я использовал переменную departmentID по всему классу. Что я использую вместо этого? Имущество, т. Е. DepartmentID? – Richard77
@ Richard77: Да, именно поэтому вы должны предпочесть свойства над полями. Вы можете изменить реализацию позже. Делайте поля всегда приватными. –
Имеют смысл. Неудивительно, что знание жизненного цикла страницы ASP.NET является одним из главных вопросов во время собеседования. Огромное спасибо. – Richard77