2011-12-05 105 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