Вы также можете поместить TextBox на панель «Обновление», оставить кнопку вне панели обновления и установить триггер, который заставит кнопку выполнить асинхронную обратную передачу, например:
<asp:Button ID="btnSubmit" runat="server />
<asp:UpdatePanel ID="upTextBox" runat="server">
<ContentTemplate>
<asp:TextBox ID="tbTitle" runat="server" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSubmit" />
</Triggers>
</asp:UpdatePanel>
А затем добавьте событие кнопки, которое изменит текст текстового поля.
Или, если вы не хотите добавлять текстовое поле на панель обновлений, вы можете зарегистрировать сценарий запуска, чтобы установить текст textBox примерно так:
ScriptManager.RegisterStartupScript(this, GetType(), "setTextBoxText", "<script type='text/javascript'>$('#"+tbTitle.ClientId+"').val('submit button has been clicked');</script>", false);