Почему динамически созданный HTML-ввод пуст после обратной передачи - PullRequest
1 голос
/ 15 июня 2010

Я добавляю HTML и теги к странице динамически. Но после каждого постбоста все значения пусты. Что я могу сделать для Solve?

Ответы [ 3 ]

1 голос
/ 15 июня 2010

Необходимо создать элементы управления в событии Init страницы, при создании элементов управления в Page_Load не будет сохраняться viewstat, поскольку в соответствии с жизненным циклом элемента управления элементы управления должны создаваться до события загрузки и непосредственно перед загрузкой, элементы управления получают свою информацию о viewstat. Создайте новое событие Page_Init (убедитесь, что вы пишете Init = "Page_Init" в первой строке тега Page). И создайте свои элементы управления в этом событии.

1 голос
/ 03 июня 2012

Если в этом случае вы хотите сохранить значения после обратной передачи, используйте Request.Forms [ключ]

здесь вы получите пару ключ-значение. Вы должны подготовить входные данные в определенном формате исправления, например, атрибут name стоит первым, затем value и т. Д. Затем, когда вы знаете формат, вы можете вернуть значение, хранящееся в Page_load. Пользовательское регулярное выражение для замены строки шаблоном.

string UpdatedText = Label25.Text;

foreach (string key in Request.Form.AllKeys)
{
    if (key.ToLower().StartsWith("recomandedspec_"))
    {
        string keyvalue = Request.Form[key];
        // this uses regular expression to replace input string with postback values
        UpdatedText = PreFillItem.FillTextBox(UpdatedText, keyvalue, key);  
    }
}

Label25.Text = UpdatedText;
1 голос
/ 15 июня 2010

Убедитесь, что элементы управления, добавленные на страницу, имеют идентификатор и тот же идентификатор после отправки назад.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...