我有一個Age屬性的int屬性以及可供選擇的可能年齡的選擇列表。檢索用於編輯數據的情況下,我加入寫着toString()方法時得到一個錯誤:將int轉換爲字符串用於下拉列表
模板只能與現場訪問,屬性訪問,一維數組索引,或單參數被用於自定義索引器表達式。
所以我的視圖模型的樣子:
public int LowerAgeLimit { get; set; }
public List<SelectListItem> Ages { get; set; }
我查詢正確檢索數據,然後在視圖中,我想有這樣的顯示數據:
@Html.DropDownListFor(x => x.LowerAgeLimit.ToString()
, Model.CreateGroupForm.Ages
, new { @class = "form-control" })
無tostring()方法,它顯示空白,因爲它期待一個字符串。但它不會讓我轉換成沒有錯誤的字符串。我也嘗試在viewmodel中創建一個新的字符串Age屬性,並將int轉換爲查詢中的字符串,但我仍然無法獲取下拉列表以顯示值。
在查詢我已填充歲列表如下:
model.CreateGroupForm.Ages.Insert(0, (new SelectListItem { Text = "", Value = "" }));
for (int i = 1; i < 100; i++)
{
model.CreateGroupForm.Ages.Insert(i, (new SelectListItem {Text = i.ToString(), Value = i.ToString()}));
}
你不需要的ToString() - 轉換爲int由模型聯編程序自動處理。我有大量的帶有整數參數的Html.DropDownListFor。 – Richard
好吧知道,任何想法爲什麼它不顯示數據呢? – BMills
我想你需要告訴我們你是如何填充Model.CreateGroupForm.Ages – jomsk1e