无法将类型字符串隐式转换为int。 (在product.price中),这是db中的int

时间:2015-12-23 15:45:07

标签: c# asp.net

private Product CreateProduct()
{
    Product product = new Product();

    product.Name = txtName.Text;
    ***product.Price = txtPrice.Text;***  
    product.TypeId = Convert.ToInt32(ddlType.SelectedValue);
    product.Description = txtDescription.Text;
    product.Image = ddlImage.SelectedValue;

    return product;
}

数据库中price的数据类型为int,此处它在product.Price = txtPrice.Text;上显示错误:

  

无法将类型字符串隐式转换为int。

请告诉我是否必须转换它或更改数据库中的数据类型。

2 个答案:

答案 0 :(得分:2)

使用Convert.ToInt32进行转换。像这样:

product.Price = Convert.ToInt32(txtPrice.Text); 

它将您的字符串值转换为32位有符号整数。

答案 1 :(得分:0)

转换它或更改数据库中的类型。

它的调用归结为您的应用程序所需的内容。如果您期望价格有多位数,即0.49,100,05,59,45等,我会使用文字或浮动数字。

如果您确定要接受整数,那么只需将输入转换为整数。