這是我在我的ASP.net項目中的代碼。我試圖用我的web窗體將一些值存儲到我的對象中,但它彈出一條錯誤消息:不能隱式地將類型'short'轉換爲'string'。將值傳入對象時出錯
textbox.Text = Convert.ToInt16(object.number);
lstbox.SelectedValue = Convert.ToInt16(object.ID);
在我的對象類中,我已經將我的變量聲明爲int。請讓我知道什麼是錯的。
這是我在我的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
或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);
感謝您的幫助!您的兩個代碼都可以取消該錯誤,並且我的項目現在可以順利運行。還有一個問題,我的對象現在是否具有字符串值變量或int? – DoesItMatter
不,您的對象的現有值不會改變,我們只是爲了分配目的而轉換值。 – TechDo