如何计算客户端上所有文本框的总和?

问题描述:

我必须在另一个文本框中显示所有文本框的总和,这是在服务器端完成的。如何计算客户端上所有文本框的总和?

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

我已经将文本框的'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://*.com/questions/6178866/txtname-is-not-declared-it-may-be-inaccessible-due-to-its-protection-level这可能是一个原因。 – 2013-03-18 11:27:16

如果您需要在客户端进行此计算,则不得声明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

要做到这一点上,你必须使用JavaScript自动回客户端意味着你正在使用服务器端代码

+0

谢谢..我知道了,并已完成与帖子的编辑。针对此错误或情况的任何解决方案? – pratz91 2013-03-18 11:19:12