ASP.net将inputbox字符串转换为整数?

时间:2011-07-15 20:53:26

标签: c# asp.net forms

我已经尝试了很长时间来转换从我的asp形式的输入框中取出的字符串并将其转换为整数。

然后,这个整数变量将用于我计划的数据库操作。

以下是我的尝试:

 string mytxtCHI = txtID.Text;
            int @CHI = Convert.ToInt16(mytxtCHI);

错误:

System.FormatException {“输入字符串的格式不正确。”}

我尝试过的事情:

-  string mytxtCHI = txtID.Text;
            int myNewID=(Int32.Parse(txtID.Text));

谢谢您的时间:)

5 个答案:

答案 0 :(得分:1)

你应该使用tryparse:

  string mytxtCHI = txtID.Text;
  int number;
  bool result = Int32.TryParse(mytxtCHI , out number);
  if (result)
  {
     Console.WriteLine("Converted '{0}' to {1}.", mytxtCHI , number);         
  }
  else
  {
     if (value == null) value = ""; 
     Console.WriteLine("Attempted conversion of '{0}' failed.", mytxtCHI );
  }

答案 1 :(得分:1)

你的方式是正确的,但你应该做些什么来避免错误

int myNewID = 0;

    if(int.TryParse(txtID.Text, out myNewID))
     {
        //your code here
    }
    else
    {
       //your error handling here
    }

答案 2 :(得分:1)

在Visual Studio中的行上放置一个断点。在调试模式下,运行到断点,将鼠标悬停在txtID.Text上以查看其中的内容。

在页面生命周期中,您是否正在检查此值?在Page Init之后检查它。检查HttpRequest.Form以查看线路上的内容。

答案 3 :(得分:0)

您应该使用Int.TryParse,并在值不是有效整数时处理大小写。

string mytxtCHI = txtId.Text;
int val;
if (!int.TryParse(mytxtCHI, out val))
{
    // error here, value was not a valid integer.
}
// here, val contains the value, expressed as an integer.

答案 4 :(得分:0)

使用观察窗口或System.Diagnostics.Debug.WriteLine(mytxtCHI)检查您传递的值是什么,是否为空白?