关于页面事件的问题 如果我们要修改一个控件的属性,那么在最晚在页面的哪个事件里修改,也就是说,如果在这个事件里再不处理,那就再也不可能更改了? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Page_Load中修改就可以http://msdn.microsoft.com/zh-cn/library/ms178472(VS.80).aspx load肯定不是最晚可以修改的控件的事件。 最晚在 Render 事件里,调用 base.Render 之前但是!请注意,由于 SaveViewState 事件是发生在 Render 之前,因此在 Render 里对控件的修改不会被保存在 ViewState 里。看下面这个例子。在页面第一次加载时,在 PreRender 事件里修改 lblA.ForeColor,在 Render 事件里修改 lblA.BackColor,点击 Postback 按钮让页面回传后, ForeColor 被保留(在ViewState里),而 BackColor 信息丢失。ASPX 页面<form id="form1" runat="server"> <asp:Label ID="lblA" runat="server" Text="AAA"></asp:Label> <asp:Button ID="btnPostback" runat="server" Text="Postback" /> </form>ASPX.CS 页面protected override void OnPreRender(EventArgs e) { if(!Page.IsPostBack) lblA.ForeColor = System.Drawing.Color.Blue; base.OnPreRender(e); } protected override void Render(HtmlTextWriter writer) { if (!Page.IsPostBack) lblA.BackColor = System.Drawing.Color.Red; base.Render(writer); } asp.net url无后缀重写 要求:用Ihttphandler 实现 Calendar OnDayRender 动态添加控件问题 testbox控件问题 C#与迅雷对外接口问题? 快要被这个问题整死了,大家来帮忙 文件下载问题 ()怎样在DATAgrid控件中使用DropDownList控件,是在代码中自动生成,不是在属性中定义(在线等...) asp.net 如何调用 VC++ 编写的 dll ???? 关于cookies的一点问题. 关于分页--老问题 fileupload上传文件大小限制. dropdownlist取值
http://msdn.microsoft.com/zh-cn/library/ms178472(VS.80).aspx
但是!请注意,由于 SaveViewState 事件是发生在 Render 之前,因此在 Render 里对控件的修改不会被保存在 ViewState 里。看下面这个例子。在页面第一次加载时,在 PreRender 事件里修改 lblA.ForeColor,在 Render 事件里修改 lblA.BackColor,点击 Postback 按钮让页面回传后, ForeColor 被保留(在ViewState里),而 BackColor 信息丢失。ASPX 页面
<form id="form1" runat="server">
<asp:Label ID="lblA" runat="server" Text="AAA"></asp:Label>
<asp:Button ID="btnPostback" runat="server" Text="Postback" />
</form>ASPX.CS 页面
protected override void OnPreRender(EventArgs e)
{
if(!Page.IsPostBack)
lblA.ForeColor = System.Drawing.Color.Blue; base.OnPreRender(e);
} protected override void Render(HtmlTextWriter writer)
{
if (!Page.IsPostBack)
lblA.BackColor = System.Drawing.Color.Red; base.Render(writer);
}