这是我的ASP.net项目中的代码。我正在尝试使用我的Web表单将一些值存储到我的对象中,但它会弹出一条错误消息:无法将类型'short'隐式转换为'string'。
textbox.Text = Convert.ToInt16(object.number);
lstbox.SelectedValue = Convert.ToInt16(object.ID);
在我的对象类中,我已将变量声明为int。请告诉我有什么问题。
答案 0 :(得分:3)
Text
和SelectedValue
属性是字符串。为什么要首先将值转换为short
?
textbox.Text = object.number.ToString();
lstbox.SelectedValue = object.ID.ToString();
答案 1 :(得分:3)
您不能将非字符串值分配给接受字符串/文本值的属性。在您的情况下,您尝试为文本框的文本属性分配一个短值。请使用Convert.ToString
或ToString()
将值转换为字符串。
所以你的代码应该是
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);