我使用代码在代码隐藏文件中组成一个动态表:
<table border="0" cellpadding="4" cellspacing="0">
<asp:PlaceHolder ID="PlaceHolder1" EnableViewState="false" runat="server"></asp:PlaceHolder>
</table>
以下是我在Page_Load()中构建它的方法:
System.Web.UI.HtmlControls.HtmlGenericControl trContainer0 = new System.Web.UI.HtmlControls.HtmlGenericControl("tr");
System.Web.UI.HtmlControls.HtmlGenericControl tdContainer00 = new System.Web.UI.HtmlControls.HtmlGenericControl("td");
//Time variable
DateTime dtDateTime0 = DateTime.Now();
//Time (must be localized)
TextBox tbxAtTime = new TextBox();
tbxAtTime.EnableViewState = false;
tbxAtTime.ID = "myTime1";
tbxAtTime.Text = dtDateTime0.ToShortTimeString();
tdContainer00.Controls.Add(tbxAtTime);
trContainer0.Controls.Add(tdContainer00);
PlaceHolder1.Controls.Add(trContainer0);
这会正确加载tbxAtTime
文本框,但是当我从该页面上的自定义控件更改文化时,会发生问题,这会使其加载(通过post-back)。在这种情况下{{ 1}}文本框似乎保留了在初始加载页面时得到的旧值,即使我在代码中放置了一个断点,它也会显示新文本(根据新文化。)< / p>
那么这里的诀窍是什么?