我有一个表示表格的 asp.net 控件和一个表示表格中一行的控件。每行包含一个日期文本字段和一个提交输入日期的按钮。
<asp:TextBox ID="TextBox" runat="server"/>
<asp:ImageButton ID="SubmitButton" onclick="SubmitButton_Click" runat="server" />
该按钮触发一个触发数据库更新的事件。
protected void SubmitButton_Click(object sender, EventArgs e)
{
//Validate information in TextBox
//Submit to database
}
这应该会导致根据在文本框中输入的信息显示一组新的行。但是,除非我强制刷新页面,否则不会显示更新的信息。我怀疑这是因为事件处理属于 asp.net 页面/控件生命周期中的位置。据我所知,这些值在实际触发事件之前已加载到行中,这导致它们获取旧值而不是它们应该具有的新值。
我的问题是解决这个问题的最佳方法是什么?我假设这将类似于检查它是否是页面加载事件中的回发,而不是加载用户控件行,而是以某种方式导致它们加载或从事件刷新,但我不确定应该怎么做看起来像。
编辑:我想我需要调用在 Page_Load 中调用的相同函数,但我不确定如何从我猜的自定义控件中获取它。