我创建了自己的控件,其中包含TextBox控件作为子控件。此文本框已设置autopostback。当回调被调用时,我在request.pyrystring中没有得到任何文本。 我应该在哪里指定输入到texbox的文本将被发送到响应?或者有没有更简单的方式来发送这些信息?我希望在回发后再次在文本框中输入文本。
谢谢
答案 0 :(得分:0)
自定义控件?任何这样的发布控件都会在LoadPostData方法中加载其数据。您可以在自定义控件类中覆盖它,并通过以下方式从控件中访问该值:
var text = postDataCollection [textboxID];
自定义控件中的文本框必须具有ID。
如果您正在谈论其他内容,请告诉我具体细节。
感谢。
答案 1 :(得分:0)
对于动态创建的控件,您需要创建它们并将它们添加到Page_Init()事件中的控件树中; Page_Load()为时已晚,Page_PreRender()为时已晚。
进入控制树后,运行时将在回发后为您恢复控件的状态。您可以使用myTextBox.Text
访问控件的内容 - 您不需要使用Request.QueryString
对于仅包含TextBox的控件,如果使用用户控件而不是INamingContainer,事情会容易得多。这样,您就可以在.ascx标记中使用<asp:TextBox>
。
答案 2 :(得分:0)