2

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

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

在我的对象类中,我已将变量声明为 int。请让我知道出了什么问题。

4

3 回答 3

3

Text属性SelectedValue是字符串。你为什么要首先将这些值转换为short

textbox.Text = object.number.ToString();
lstbox.SelectedValue = object.ID.ToString();
于 2013-01-22T06:09:32.760 回答
3

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

所以你的代码应该是

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

或者

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

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

lstbox.SelectedValue = Convert.ToString(object.ID);
于 2013-01-22T06:11:14.473 回答
0

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

    object.number = Convert.ToInt16(textbox.Text);
    object.ID = Convert.ToInt16(lstbox.SelectedValue);
于 2013-02-09T21:40:38.680 回答