我有這樣的代碼:不能將int轉換成字符串
int CityID= ((User)Session["LoggedInUser"]).CityID;
//When I debugg I get CityID = 7 here
ddlCity.Items.FindByValue(CityID).Selected = true;
而且,我不能從int轉換爲字符串在底線上的錯誤。我怎樣才能使它成爲可能?
我有這樣的代碼:不能將int轉換成字符串
int CityID= ((User)Session["LoggedInUser"]).CityID;
//When I debugg I get CityID = 7 here
ddlCity.Items.FindByValue(CityID).Selected = true;
而且,我不能從int轉換爲字符串在底線上的錯誤。我怎樣才能使它成爲可能?
FindByValue需要一個字符串值,因此您必須將CityID轉換爲字符串。
試試這個:
ddlCity.Items.FindByValue(CityID.ToString()).Selected = true
謝謝,我一直坐在這裏,這是這個明天。 Thankyou – user1007103
參數類型應該是string
,不int
,所以只需使用內置的ToString():
ddlCity.Items.FindByValue(CityID.ToString()).Selected = true;
MSDN:ListItemCollection.FindByValue()方法
public ListItem FindByValue(
string value
)
看起來像FindByValue需要「字符串」。使用CityId.ToString(CutureInfo.InvariantCulture)
而不是CityId
。
您需要將整數轉換爲字符串。這可以通過兩種方式之一
進行調用ToString()方法
ddlCity.Items.FindByValue(CityID.ToString()).Selected = true;
這可能引發一個空引用異常,如果CityID爲null。
使用ConvertToString()
ddlCity.Items.FindByValue(Convert.ToString(CityID)).Selected = true;
而且它可能是明智的檢查FindByValue方法不返回null,因爲這也將導致空引用異常,當您試圖設置選定=真正
在這種情況下'(字符串)CityID'可能引發無效的轉換異常? – sll
從你的簡短描述中很難理解你到底想要做什麼,以及這些對象究竟是什麼。請嘗試更好地解釋您的問題。 – Dror
不要用大寫字母命名變量,這被其他程序員隱式地理解爲類名,並且確實是SO的着色算法。請注意用戶和會話是怎樣的類,並且爲你的CityID設定一個更好的名稱將是cityId或cityID – Gleno
更簡單:'ddlCity.SelectedValue = CityID.ToString();' – Magnus