1
我有一個奇怪的問題,MVC下拉選擇的值沒有預先選擇頁面加載。Dropdownlist沒有選擇預選值-mvc3
我的模型是:
public class DocumentTypesViewModel
{
[Required(ErrorMessage = "DocumentType is required")]
public int OHDocumentTypeId { get; set; }
public string OHDocumentTypeDescription { get; set; }
}
public class ClientAdvancedSearchViewModel
{
[Display(Name = "Name")]
public string Name { get; set; }
[Display(Name = "DocumentType")]
public string DocumentTypeId { get; set; }
public IEnumerable<SelectListItem> DocumentTypes { get; set; }
}
在我的控制器,我填充ClientAdvancedSearchViewModel這樣
[HttpGet]
public ActionResult ClientAdvancedSearch()
{
ClientAdvancedSearchViewModel clientAdvancedSearchViewModel = iClientReferralRecordsRepository.GetDocumentMetadata();
//DocumentTypes Dropdown
var ddlDocumentTypes = iDocumentTypeRepository.GetDocumentTypes();
clientAdvancedSearchViewModel.DocumentTypes = new SelectList(ddlDocumentTypes, "OHDocumentTypeId", "OHDocumentTypeDescription",clientAdvancedSearchViewModel.DocumentTypeId);
return View(clientAdvancedSearchViewModel);
}
終於在查看:
<td>
<div class="editor-label">
@Html.LabelFor(model => model.DocumentTypes)
</div>
<div class="editor-field">
@Html.DropDownListFor(x => x.DocumentTypeId, Model.DocumentTypes, "Please Select", new { @id = "ddlDocumentType" })
</div>
</td>
相信的名稱下拉是相同的是x => x.DocumentTypeId,因爲我認爲,我的價值不是預選反恐執行局。
這是ViewSource用於生成的HTML的下拉
<select id="ddlDocumentType" name="DocumentTypeId">
<option value="">Please Select</option>
<option value="20">records</option>
<option value="21"> record1</option>
..
如何重命名我的下拉列表名稱或怎樣才能解決我的問題?
謝謝
更新:增加了遺漏線
ClientAdvancedSearchViewModel clientAdvancedSearchViewModel = iClientReferralRecordsRepository.GetDocumentMetadata();
很好的代碼跟蹤 – 2013-04-04 13:51:16
我正在設置它,但刪除了粘貼在SO中的行。 clientAdvancedSearchViewModel = iClientReferralRecordsRepository.GetDocumentMetadata(); – 2013-04-04 13:51:44
請張貼所有相關代碼,然後供我們參閱。但是看到我更新的答案。 – 2013-04-04 13:56:54