0
這裏是我的代碼:控制在外面頁面用戶控件不更新上的PreRender
<asp:Label ID="myLabel" runat="server" Text="first label"></asp:Label>
<uc:myControl ID="myControl" runat="server" /> //contains a checkbox
myControl.ascx.cs
public bool changeLabel { get; set; }
protected void checkbox_CheckedChanged(object sender, EventArgs e) {
changeLabel = ((CheckBox) sender).Checked ? true : false;
}
myPage.aspx.cs
protected void Page_PreRender(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
myLabel.Text = myControl.changeLabel == true ? "second label" : "first label";
}
}
在調試模式下,我可以看到我的新值「第二個標籤」,但它不在頁面中呈現。有什麼建議?
Page_Load事件Pre_Render之前和用戶控件的Page_Load中之前發生,所以也沒有任何意義,我分配在Page_Load中的價值 – Med
@Med這是我的錯誤人,我將它讀爲Page_Init而不是Pre_Render,對此抱歉! – Seano666