我有一个名为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
我猜它不起作用,因为它无法进行适当的回发,因为涉及更新面板。
任何想法如何绕过这个可能是简单的问题?
谢谢,
答案 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>
编辑: 刚刚注意到该按钮位于更新面板之外。不确定我的建议是否有效。