2013-03-18 85 views
0

我必須在另一個文本框中顯示所有文本框的總和,這是在服務器端完成的。如何計算客戶端上所有文本框的總和?

文本框中的值可能是任何整數或空值。

我已經將文本框的'autopostback'屬性設置爲true。

private void TextBox2_TextChanged(object sender, EventArgs e) 
    { 


     if ((!string.IsNullOrEmpty(TextBox2.Text)) && (!string.IsNullOrEmpty(TextBox3.Text))) 
     { 
      TextBox8.Text = (Convert.ToInt32(TextBox2.Text) + Convert.ToInt32(TextBox3.Text)).ToString(); 
     } 

    } 

添加此到CS文件後,我試着運行頁面,並顯示該編譯器錯誤

 'WebApplication1.c_fail.TextBox2_TextChanged(object, System.EventArgs)' is inaccessible due to its protection level 
     <asp:TextBox ID="TextBox2" runat="server" AutoPostBack="True" 
     ontextchanged="TextBox2_TextChanged"></asp:TextBox> 

如果有人能提供一個解決這個錯誤,或者只給一個正確的代碼與情況一起鍛鍊。如果文本框中有空值,那麼您提供的代碼也應該可以工作。

+0

對於客戶端,你必須使用JavaScript。 – 2013-03-18 11:15:51

+0

@Moniecorleone服務器端的任何解決方案呢?結果應該在另一個文本框中生成。 – pratz91 2013-03-18 11:21:50

+0

請檢查這個線程。 http://stackoverflow.com/questions/6178866/txtname-is-not-declared-it-may-be-inaccessible-due-to-its-protection-level這可能是一個原因。 – 2013-03-18 11:27:16

回答

0

如果您需要在客戶端進行此計算,則不得聲明TextBoxautopostback = true,並且您需要使用客戶端腳本(例如JavaScript)而不是要從服務器端執行的C#代碼來處理您的問題。

+0

請儘量說明一點。你想在客戶端還是在服務器端? – adripanico 2013-03-18 11:19:55

+0

我不知道你有什麼ASP.NET的開發級別,但重要的是你很清楚ASP頁面的生命週期,也是'autopostback'屬性的特徵(對於TextBox:http:// msdn。 microsoft.com/es-es/library/system.web.ui.webcontrols.textbox.autopostback(v=vs.80).aspx)。如果你需要文本框的**即時**更新,你不能從後面的代碼(服務器端)執行它。 – adripanico 2013-03-18 11:26:15

+0

早些時候我知道區別。所以請原諒我的無知,併爲服務器端提供一些解決方案。 – pratz91 2013-03-18 11:28:34

-1

要做到這一點上,你必須使用JavaScript自動回客戶端意味着你正在使用服務器端代碼

+0

謝謝..我知道了,並已完成與帖子的編輯。針對此錯誤或情況的任何解決方案? – pratz91 2013-03-18 11:19:12

相關問題