我看过其他两篇与此相关的帖子,但我对我的代码有疑问。所以请多多包涵。
我有用户控件,它有一个文本 boa 和一个下拉列表以及一些自定义验证器。用户控件是通过代码动态添加的。
我正在使用以下代码在用户控件本身内加载下拉列表
protected void Page_Load(object sender, EventArgs e)
{
ddl_RRC.DataSource = dicRC_Desc;
ddl_RRC.DataTextField = "value";
ddl_RRC.DataValueField = "key";
ddl_RRC.DataBind();
txtRC.Text = Request.Form[txtRC.UniqueID]; //To retain the value of text box
}
我在 Page_Init 上动态添加用户控件
protected void Page_Init(object sender, EventArgs e)
{
if (GetPostBackControl(this) == "btnNewRow")
{
custControlCountID++;
}
for (int i = 0; i < custControlCountID; i++)
{
RejRow customControl = (RejRow)LoadControl("~/RejRow.ascx");
customControl.ID = "rejRow" + i;
divHolder.Controls.Add(customControl);
}
}
文本框和下拉列表都启用了视图状态。由于我在 Page_Init 中添加控件时使用了相同的 ID,为什么控件没有从视图状态中获取值?