我的appologies,有一個愚蠢的JavaScript覆蓋我的選擇,搞砸了。我確實創建了一個測試項目來驗證這裏的建議,但這裏是我發現的(對於其他人閱讀此主題):
selectedDropOfDate不必填寫,實際上,它根本無法工作有填寫。有列表有一個項目被標記爲選擇=真正適用。
示例代碼
型號:
public class Home
{
public string Selected { get; set; }
public List<SelectListItem> Items { get; set; }
}
控制器:
public ActionResult Index()
{
var model = new Home();
model.Items = GetItems(DateTime.Now, DateTime.Now.AddDays(3));
return View(model);
}
private List<SelectListItem> GetItems(DateTime start, DateTime end)
{
var dates = new List<DateTime>();
for (double i = 0; i < 100; i++)
{
dates.Add(start.AddDays(i + 1));
}
var selectList = new List<SelectListItem>();
selectList.AddRange(dates.Select(x => new SelectListItem
{
Selected = x.Date == end.Date,
Text = x.ToString("d.M.yyyy"),
Value = x.ToString("d/M/yyyy", new DateTimeFormatInfo())
}));
return selectList;
}
查看:
<%= Html.DropDownListFor(model => model.Selected, Model.Items) %>
「model.SelectDropOfDate」 - 不是真的! :)所以'getDropOffDates'將模型返回到您的'DropDownListFor'所在的視圖?因爲如果是這樣,那麼這意味着你的模型是一個集合,並且在執行'Model.DropOffDates'是不正確的? – 2013-05-08 09:32:39
von訴我不確定你的意思,你可以進一步描述它嗎? – Jennica 2013-05-08 10:01:23
Html助手使用modelstate中的值作爲第一選擇。您可以在返回視圖之前嘗試清除模型狀態,並查看問題出在服務器端還是客戶端。如果問題仍然存在,那麼它可能會有一些腳本用選定的值混淆。 – maxlego 2013-05-08 11:11:54