Я видел еще несколько других сообщений, связанных с этим, но у меня есть сомнения относительно моего кода. Так что любезно несите меня.reatining выбор списка обращений, который находится внутри пользовательского элемента управления
У меня есть пользовательский элемент управления с текстовым удавом и выпадающим списком и несколькими пользовательскими валидаторами. Пользовательский элемент управления динамически добавляется через код.
Я использую follwoing код для загрузки DropDownList внутри самого блока управления пользователя
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);
}
}
ViewState включено как для текстового поля и падения вниз. Как я использую тот же ID при добавлении элементов управления в Page_Init, почему элементы управления не получают значения из viewstate?
Где объявлена переменная 'custControlCountID', сохраняет ли она значение в' ViewState'? –
'custControlCountID' является частной статической переменной класса' _Default' – nishantv
Статические переменные являются широко используемыми приложениями и доступны для всех пользователей. Поэтому каждый пользователь, посетивший эту страницу, будет иметь одну и ту же переменную. Немедленно удалите его и замените его свойством, использующим переменную ViewState. –