我有UserControl,我需要添加(生成)一些標籤,基本上是輸入標籤。稍後回發時,我需要從這些輸入中收集值。我使用Render方法來生成輸入,但我不知道如何從Postback上的這些輸入中獲取值。我確實有每個輸入的唯一ID。如何從render方法中創建的用戶控件獲取回發值?
代碼形式Render方法:
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();
我怎樣才能輸入上回發的值。我試過Page.FindControl(),但它不適合我。
感謝您的任何建議。
我按照你的建議使用了CreateChildControls。我想到了。謝謝。無論如何,我不知道我採取原創的方法是最壞的還是更好的。我想這可能會工作,如果我從Request.Form集合中獲取值,如下所述。 CreateChildControls也處理兩次,這需要一些額外的工作。 – 2009-09-21 16:52:06
如果您不使用CreateChildControls方法,則可能不應使用WebForms。看看MVC! – erikkallen 2009-09-21 18:40:01