我有以下代码对文本框进行一些非常简单的验证
if(txtInStock.Text.Length == 0)
txtInStock.Text = Convert.ToString(0);
if (txtInStock.Text.Length == 0)
txtOnOrder.Text = Convert.ToString(0);
int inStockAmt = Convert.ToInt32(txtInStock.Text);
int onOrderAmt = Convert.ToInt32(txtOnOrder.Text);
当Text!= 0时,这很好用,但是当Text == 0时,我得到了FormatException,说字符串格式不正确。我该如何纠正?
最佳答案
您的问题在这里:
if (txtInStock.Text.Length == 0)
txtOnOrder.Text = Convert.ToString(0);
您正在检查一个文本框的长度,并设置另一个文本框的文本。更改为此:
if (txtOnOrder.Text.Length == 0)
txtOnOrder.Text = Convert.ToString(0);
另外,您是否有理由使用
Convert.ToString(0)
而不是"0"
吗?我不特别推荐使用这种方法进行数据验证,但这应该可以解决问题。
关于c# - 无法从文本框将零转换为int32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2343750/