我有一個MVC 3項目,並堅持視圖綁定到模型Post上。MVC:綁定動態選擇列表返回到ViewModel在郵政
這裏是我的模型:
public class DBViewModel
{
public ProductionDatabasesViewModel PDBViewModel { get; set; }
public IList<string> SelectedNames { get; set; }
public DBViewModel()
{
SelectedNames = new List<string>();
PDBViewModel = new ProductionDatabasesViewModel();
}
}
我的觀點:(砍倒版)
@model Web.Models.DBViewModel
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
@Html.ListBoxFor(x => x.SelectedNames, new SelectList(Model.SelectedNames))
<input id="button-submit" name="SubmitButton" type="submit" value="Submit" />
</fieldset>
}
片段的控制器:
[HttpPost]
public ActionResult Database(DBViewModel model)
{
var users = model.SelectedNames; //<---- empty, the count is 0 always.
}
在視圖中有從自動填充框中選擇用戶,然後從jQuery腳本中選擇用戶的能力t會將選定的名稱添加到上面視圖中的列表中。這一切都有效,所以我可以搜索用戶,然後單擊添加按鈕將用戶添加到列表中。但是當點擊提交按鈕時,我遇到了問題。視圖中添加的用戶(視圖中的選擇列表)不綁定到模型。所以在發佈model.SelectedNames是空的。我也嘗試了Request [「SelectedNames」]和Request.Form [「SelectedNames」],它們都是null。
我在正常的webforms非常有經驗,但仍然學習MVC,所以任何幫助將不勝感激。
[更新]
我會更新的問題進一步明天我的時間,但現在看來,如果我選擇他們,是在列表中的項目將被綁定到視圖模型。明天我會明白這一點。但非常感謝所有評論,幫助和建議。
我想你想要這樣的東西http://stackoverflow.com/questions/3194143/challenges-with-selecting-values-in-listboxfor/3195986#3195986 – Ryan 2011-05-25 03:02:42
@Ryan - 沒有不幸的不是。這並不能解決在帖子期間將表單值綁定回模型的問題。 – Ryk 2011-05-25 03:31:18