我有UserControl,我需要添加(生成)一些标签,基本上是输入标签。稍后回发我需要从这些输入中收集值。我使用Render方法生成输入,但我不知道如何在Postback上从这些输入中获取值。我对每个输入都有唯一的ID。
代码表格渲染方法:
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();
如何获取Postback上的Input值。我尝试过Page.FindControl(),但它对我不起作用。
感谢您的任何建议。
答案 0 :(得分:0)
你没有。如果使用WebForms,则应在CreateChildControls方法中创建子控件。
答案 1 :(得分:0)
Page.FindControl不起作用,因为控件是显式呈现的(即,它们没有被添加到Page.Controls集合中)。
您可以检查名为id_value的键的Request.Forms集合,其中id是控件的名称。此集合包含来自WebForms的已发布数据。