这是我在 ASP.net 项目中的代码。我正在尝试使用我的 Web 表单将一些值存储到我的对象中,但它会弹出一条错误消息:无法将类型“short”隐式转换为“string”。
textbox.Text = Convert.ToInt16(object.number);
lstbox.SelectedValue = Convert.ToInt16(object.ID);
在我的对象类中,我已将变量声明为 int。请让我知道出了什么问题。
和Text
属性SelectedValue
是字符串。你为什么要首先将这些值转换为short
?
textbox.Text = object.number.ToString();
lstbox.SelectedValue = object.ID.ToString();
您不能将非字符串值分配给接受字符串/文本值的属性。在您的情况下,您正在尝试为文本框的文本属性分配一个短值。Convert.ToString
请使用or将值转换为字符串ToString()
。
所以你的代码应该是
textbox.Text = Convert.ToString(object.number);
或者
textbox.Text = object.number.ToString();
分配列表框的选定值属性时,场景相同。
lstbox.SelectedValue = Convert.ToString(object.ID);
由于您想将值传递给对象,因此您应该让对象的变量 = 输入值。
object.number = Convert.ToInt16(textbox.Text);
object.ID = Convert.ToInt16(lstbox.SelectedValue);