将值传递给对象时出错

时间:2013-01-22 06:07:02

标签: c# asp.net

这是我的ASP.net项目中的代码。我正在尝试使用我的Web表单将一些值存储到我的对象中,但它会弹出一条错误消息:无法将类型'short'隐式转换为'string'。

    textbox.Text = Convert.ToInt16(object.number);
    lstbox.SelectedValue = Convert.ToInt16(object.ID);

在我的对象类中,我已将变量声明为int。请告诉我有什么问题。

3 个答案:

答案 0 :(得分:3)

TextSelectedValue属性是字符串。为什么要首先将值转换为short

textbox.Text = object.number.ToString();
lstbox.SelectedValue = object.ID.ToString();

答案 1 :(得分:3)

您不能将非字符串值分配给接受字符串/文本值的属性。在您的情况下,您尝试为文本框的文本属性分配一个短值。请使用Convert.ToStringToString()将值转换为字符串。

所以你的代码应该是

textbox.Text = Convert.ToString(object.number);

textbox.Text = object.number.ToString();

在分配列表框的选定值属性时,场景相同。

lstbox.SelectedValue = Convert.ToString(object.ID);

答案 2 :(得分:0)

由于你想将值传递给对象,你应该让对象的变量=输入值。

    object.number = Convert.ToInt16(textbox.Text);
    object.ID = Convert.ToInt16(lstbox.SelectedValue);