Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 计算文本框的总值_C#_Asp.net - Fatal编程技术网

C# 计算文本框的总值

C# 计算文本框的总值,c#,asp.net,C#,Asp.net,我有8个只接受整数的文本框。如何计算用户在每个文本框中输入的总值,结果将显示为标签。用户单击“提交”按钮后,标签值(数字结果)将存储在db中。有人知道吗?非常感谢。期待你们的消息。 我遇到了这个错误:输入字符串的格式不正确。 在这一行: int total = 0; total = int.Parse(TextBox2.Text) + int.Parse(TextBox4.Text) + int.Parse(TextBox6.Text) + int.Parse(TextBox8.Text) +

我有8个只接受整数的文本框。如何计算用户在每个文本框中输入的总值,结果将显示为标签。用户单击“提交”按钮后,标签值(数字结果)将存储在db中。有人知道吗?非常感谢。期待你们的消息。 我遇到了这个错误:输入字符串的格式不正确。 在这一行:

int total = 0;
total = int.Parse(TextBox2.Text) + int.Parse(TextBox4.Text) + int.Parse(TextBox6.Text) + int.Parse(TextBox8.Text) + int.Parse(TextBox10.Text) + int.Parse(TextBox12.Text) + int.Parse(TextBox14.Text) + int.Parse(TextBox16.Text);    
Label1.Text = total.ToString(); 
您可以这样做:-

totalValue = int.Parse(txtBox1.Text) + int.Parse(txtBox2.Text) + int.Parse(txtBox3.Text) + int.Parse(txtBox4.Text) + int.Parse(txtBox5.Text) + int.Parse(txtBox6.Text) + int.Parse(txtBox7.Text) + int.Parse(txtBox8.Text);
将值存储在标签中

label.Text = totalValue;
label.Text = totalValue;

foreach(此.Controls中的控件c) {
if(c.GetType().Name.ToString()=“TextBox”) { totalValue+=int.Parse(String.Format(“txtBox{0}.Text”,count)); } }

将值存储在标签中

label.Text = totalValue;
label.Text = totalValue;

如果可以使用jQuery,那么在所有文本框中添加一个公共类,比如“textToCalculate”,如果标签的Id是“labelToShowResult”


$(文档).ready(函数(){
$('.textToCalculate').change(函数(){
var合计=0;
$('.textToCalculate')。每个(函数(){
总计+=parseInt(此.value);
});
$('labelToShowResult').val(总计);
});
});

希望这能起作用

很简单,您所要做的就是将所有文本框文本转换为双精度文本,然后使用FOR循环添加它们。

第二个问题的答案是在一个参数中保留总值,然后使用

    Request.QueryString 
对于上一页。。
第二种方法是将总值保存在全局(静态)变量中,并在您的任何页面中使用它。

我是这样解决的:

您可以创建一个void,然后可以在程序中的任何位置或任何按钮调用该void

void Calculate_Total()
{
double txt1 = Convert.ToDouble(txtBox1.Text);
double txt2 = Convert.ToDouble(txtBox2.Text);
double txt3 = Convert.ToDouble(txtBox3.Text);
double txt4 = Convert.ToDouble(txtBox4.Text);
double txt5 = Convert.ToDouble(txtBox5.Text);
double txt6 = Convert.ToDouble(txtBox6.Text);
double txt7 = Convert.ToDouble(txtBox7.Text);
double txt8 = Convert.ToDouble(txtBox8.Text);

double total = txt1 + txt2 + txt3 + txt4 + txt5 + txt6 + txt7 + txt8;

Label1.Text = Convert.Tostring(total);
}

您是想在提交表单时计算此值,还是在用户输入数字时在客户端计算此值?这是一种模糊和不完整的方式。什么时候(重新)计算总数?什么数据库?那么,如何在标签中显示它?最后一个问题,显示总整数的标签在不同的页面上。如何将valeu传递到其他页面?@WhoMe你不能再问这样的问题了。您创建了另一个问题并询问您的需求是什么。@WhoMe:提交时,您可以将结果作为参数传递到另一个页面,并使用Request.QueryString
…Name.ToString()获取值。
为什么?是否要双重确认名称是字符串?在这种情况下,你应该格外小心。我建议
Name.ToString().ToString().ToString()
只要确保
int.Parse()
在任何文本框为空时都会引发异常。建议
int.TryParse()
void Calculate_Total()
{
double txt1 = Convert.ToDouble(txtBox1.Text);
double txt2 = Convert.ToDouble(txtBox2.Text);
double txt3 = Convert.ToDouble(txtBox3.Text);
double txt4 = Convert.ToDouble(txtBox4.Text);
double txt5 = Convert.ToDouble(txtBox5.Text);
double txt6 = Convert.ToDouble(txtBox6.Text);
double txt7 = Convert.ToDouble(txtBox7.Text);
double txt8 = Convert.ToDouble(txtBox8.Text);

double total = txt1 + txt2 + txt3 + txt4 + txt5 + txt6 + txt7 + txt8;

Label1.Text = Convert.Tostring(total);
}