我嘗試在我的視圖中使用下拉列表來顯示作者列表(用戶)。我可以填充此下拉菜單並查看我的視圖中的內容。提交我的表單時,我在我的控制器中調試我的操作,並在檢查模型時,與我的下拉列表關聯的字段值爲空。我的表單提交時沒有任何值的下拉列表
這是我的動作控制器(表示我的視圖前):
public ActionResult Create()
{
IEnumerable<User> authors = m_AccountBusiness.GetAllUsers();
PageCreateViewModel viewModel = new PageCreateViewModel
{
PageToCreate = new PageFullViewModel(),
Authors = authors.Select(x => new SelectListItem { Text = x.UserName, Value = x.UserID.ToString() })
};
return View(viewModel);
}
這裏是(一部分)我的視圖:
@model MyBlog.ViewModels.PageCreateViewModel
<h3>Create</h3>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
@Html.HiddenFor(model => model.PageToCreate.PageID)
<div class="editor-label">
@Html.LabelFor(model => model.PageToCreate.Title)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.PageToCreate.Title, new { @class = "titleValue" })
@Html.ValidationMessageFor(model => model.PageToCreate.Title)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.PageToCreate.Author)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.PageToCreate.Author, Model.Authors, "Please select...")
</div>
這是我的PageCreateViewModel:
public class PageCreateViewModel
{
public PageFullViewModel PageToCreate { get; set; }
public IEnumerable<SelectListItem> Authors { get; set; }
}
有什麼想法?
謝謝。
感謝您的回覆,但它不起作用。我的控制器中的下拉菜單仍然沒有價值。 – Bronzato 2012-01-12 13:04:02
@Bronzato您的模型中的其他值在返回時是否正確填充? – JoJa 2012-01-12 13:08:10