ASP:UpdatePanel没有按预期工作

时间:2016-11-23 09:42:11

标签: asp.net asp.net-ajax

我有以下前端代码:

<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Table ID="groupTable" runat="server"></asp:Table>
    </ContentTemplate>
</asp:UpdatePanel>

其中&#34; groupTable&#34;在服务器端生成几行文本框,如下所示

<INPUT onchange="javascript:setTimeout('__doPostBack(\'textbox0\',\'\')', 0)" tabIndex=100 onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id=textbox0 language=javascript value=eeedddeeeee name=textbox0 jQuery19107993684268830612="42">

每个文本框都有回发,因为有适用于相邻控件的服务器端逻辑,因此控件的内容取决于之前的控件内容。

我希望看到整个页面不会刷新,而只是表格本身,但结果却是另一种方式。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

问题可能是没有为Async Postback注册控件。你可以做两件事。为Async Postback注册那些TextBox,或者从后面的代码动态创建groupTable中的TextBox。

ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(TextBox1);

或者将TextBox直接添加到groupTable

TextBox textBox = new TextBox();
textBox.AutoPostBack = true;
textBox.Text = "Hello World";
textBox.TextChanged += TextBox_TextChanged; 

TableRow tableRow = new TableRow();

TableCell tableCell = new TableCell();
tableCell.Controls.Add(textBox);
tableRow.Cells.Add(tableCell);

groupTable.Rows.Add(tableRow);