2013-01-22 24 views
2

這是我在我的ASP.net項目中的代碼。我試圖用我的web窗體將一些值存儲到我的對象中,但它彈出一條錯誤消息:不能隱式地將類型'short'轉換爲'string'。將值傳入對象時出錯

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

在我的對象類中,我已經將我的變量聲明爲int。請讓我知道什麼是錯的。

回答

3

TextSelectedValue屬性是字符串。爲什麼你會首先將這些值轉換爲short

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

您不能將非字符串值分配給接受字符串/文本值的屬性。在你的情況下,你正試圖給文本框的文本屬性分配一個短的值。請使用Convert.ToStringToString()將值轉換爲字符串。

所以,你的代碼應該是

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

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

的情況是相同的,而分配列表框的設定值的屬性。

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

感謝您的幫助!您的兩個代碼都可以取消該錯誤,並且我的項目現在可以順利運行。還有一個問題,我的對象現在是否具有字符串值變量或int? – DoesItMatter

+0

不,您的對象的現有值不會改變,我們只是爲了分配目的而轉換值。 – TechDo

0

由於您要將值傳遞給對象,因此您應該有對象的變量=輸入值。

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