无法清除textbox.text

时间:2011-12-05 20:28:35

标签: asp.net updatepanel

我有一个名为txtNote的文本框。当我输入一些文本时,我单击一个保存按钮,内容写入数据库。我现在想要清除文本框值,所以我一直在使用txtNote.text =“”但它不再起作用,因为保存按钮现在是更新面板触发器的一部分。

E.g。

                <asp:TextBox ID="txtNote" runat="server" CssClass="textarea full" Rows="4" TextMode="MultiLine"></asp:TextBox>

                    <asp:Button ValidationGroup="valgroup1" ID="btnNoteSave" runat="server" Text="Save"/>
                </div>
            </div>
            <div style="width: 100%; float: left">
                <asp:UpdatePanel ID="pnlNotes" runat="server">
                    <ContentTemplate>
                        <div id="content_container" style="margin-top: 85px">
                            <asp:Label ID="lblNotes" runat="server"></asp:Label>
                        </div>
                    </ContentTemplate>
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="btnNoteSave" EventName="click" />
                    </Triggers>
                </asp:UpdatePanel>
            </div>

代码背后:

Protected Sub btnNoteSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnNoteSave.Click
    If txtNote.Text <> "" Then
        Dim newnote As New note()
        newnote.LoggedBy = Session("user_id")
        newnote.Note = txtNote.Text
        newnote.Create()
        txtNote.Text = "" 'this is not working.
        Dim note As New note()
        lblNotes.Text = note.shownotes(Val(txtTicketID.Value))

    End If

End Sub

我猜它不起作用,因为它无法进行适当的回发,因为涉及更新面板。

任何想法如何绕过这个可能是简单的问题?

谢谢,

2 个答案:

答案 0 :(得分:0)

TextBox包装在自己的UpdatePanel中。请务必将UpdateMode设置为Always,或将Button添加到新Triggers的{​​{1}}

答案 1 :(得分:0)

变化:

<Triggers>
                        <asp:AsyncPostBackTrigger ControlID="btnNoteSave" EventName="click" />
                    </Triggers>

要:

<Triggers>
                        <asp:PostBackTrigger ControlID="btnNoteSave" />
                    </Triggers>

编辑: 刚刚注意到该按钮位于更新面板之外。不确定我的建议是否有效。