我需要将我的xaml代码的文本框中的文本转换为C#中的整数值。我正在使用.NET 4.0和Visual Studio 2010.有没有办法在xaml标签本身或者我需要在C sharp中编写转换器。我尝试了以下但是没有工作:
Convert.ToInt32(this.txtboxname.Text)
非常感谢任何帮助。感谢。
答案 0 :(得分:13)
建议在发送到SQL Server之前在代码隐藏中执行此操作。
int userVal = int.Parse(txtboxname.Text);
也许尝试解析并选择让用户知道。
int? userVal;
if (int.TryParse(txtboxname.Text, out userVal)
{
DoSomething(userVal.Value);
}
else
{ MessageBox.Show("Hey, we need an int over here."); }
您注意到的异常意味着您不在调用存储过程中包含该值。尝试在调用构建SQL Server调用的代码时在代码中设置调试器断点。
确保您实际将参数附加到SqlCommand。
using (SqlConnection conn = new SqlConnection(connString))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@ParamName", SqlDbType.Int);
cmd.Parameters["@ParamName"].Value = newName;
conn.Open();
string someReturn = (string)cmd.ExecuteScalar();
}
或许在您的数据库上启动SQL事件探查器以检查正在发送/执行的SQL语句。
答案 1 :(得分:5)
您不需要编写转换器,只需在处理程序/代码隐藏中执行此操作:
int i = Convert.ToInt32(txtMyTextBox.Text);
OR
int i = int.Parse(txtMyTextBox.Text);
文本框的Text
属性为String
类型,因此您必须在代码中执行转换。
答案 2 :(得分:1)
示例:
int x = Convert.ToInt32(this.txtboxname.Text) + 1 //You dont need the "this"
txtboxname.Text = x.ToString();
“x.ToString”将整数转换成字符串,以便在文本框中显示。
结果:
:)
答案 3 :(得分:0)
如果您的SQL数据库允许该字段的Null值,请尝试使用int? value
:
if (this.txtboxname.Text == "" || this.txtboxname.text == null)
value = null;
else
value = Convert.ToInt32(this.txtboxname.Text);
注意null值的Convert.ToInt32返回0!
Convert.ToInt32(null) returns 0
答案 4 :(得分:0)
int num = int.Parse(textBox.Text);
尝试一下。对我有用