2011-12-05 71 views
0

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

例如背后

   <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

只是包装的TextBox在自己UpdatePanel。确保要么设置UpdateModeAlways,或添加ButtonUpdatePanel

+0

这可能会起作用,但我不会建议添加比您需要的更多更新面板。你的页面很快就会变得非常糟糕。 – TheGeekYouNeed

+0

是的,但是如果你需要更新一个不在你的'UpdatePanel'中的控件,这就是你怎么做的。毕竟,他就是这么问的。 – drdwilcox

+0

不错的;).... – thegunner

0

变化的Triggers

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

要:

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

编辑: 只注意到了按钮不在updatepanel中。不是100%确定我的建议是否可行。

+0

即使这样做,它只会强制整个页面回传,这几乎肯定不是他想要的。 – drdwilcox

+0

谢谢,但是并不是真的希望整个页面回复或试图避免,如果poss。 – thegunner

+0

@drdwilcox我以为他需要回发才能打回代码并清除TextBox的文本。 – Seany84