Как получить значение Postback из пользовательского элемента управления, созданного в методе рендеринга? - PullRequest
0 голосов
/ 21 сентября 2009

У меня есть UserControl, и мне нужно добавить (сгенерировать) некоторые теги, в основном теги ввода. Позже при обратной передаче мне нужно собрать значения из этих входных данных. Я использую метод Render для генерации входных данных, но я не знаю, как получить значения из этих входных данных в Postback. У меня есть уникальный идентификатор для каждого входа.

Форма кода Метод визуализации:

writer.Write(string.Format("<p>{0}</p>", Resources.CustomControls.inpCodeRestriction));
writer.RenderBeginTag(HtmlTextWriterTag.P);
writer.RenderBeginTag(HtmlTextWriterTag.Span);
writer.Write(product.Name);
writer.RenderEndTag();
TextBox tb = new TextBox();
tb.ID = string.Format("code{0}{1}", item.Id, item.ProductId);
tb.Text = string.Empty;
tb.ToolTip = Resources.CustomControls.titCodeRestriction;
tb.RenderControl(writer);
writer.RenderEndTag();

Как я могу получить значение Input при обратной передаче. Я попытался Page.FindControl (), но он не работает для меня.

Спасибо за любой совет.

Ответы [ 2 ]

0 голосов
/ 21 сентября 2009

Page.FindControl не работает, потому что элементы управления отображаются явно (т.е. они не добавляются в коллекцию Page.Controls).

Вы можете проверить коллекцию Request.Forms на наличие ключей с именем id_value, где id - это имя вашего элемента управления. Эта коллекция содержит опубликованные данные из WebForms.

0 голосов
/ 21 сентября 2009

Ты не. Если вы используете WebForms, вы должны создать свои дочерние элементы управления в методе CreateChildControls.

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