我有一個DropDropListFor,看起來像這樣:ASP.NET MVC - 枚舉不被髮送到控制器
using (Ajax.BeginForm("FilterListingsWorkflow", "Listing",
new {
categoryguid = Model.SelectedCategoryGuid,
workflowstatus = Model.SelectedWorkflowStatus,
entityName = Model.EntityName,
},
new AjaxOptions {
HttpMethod = "POST",
UpdateTargetId = "listingTable",
InsertionMode = InsertionMode.Replace
}))
{
<p>Filter listings by Workflow Status:</p>
@Html.DropDownListFor(m =>
Model.SelectedWorkflowStatus,
Enum.GetValues(typeof (WorkflowStatus))
.Cast<WorkflowStatus>()
.Select(v =>
new SelectListItem {
Text = v.ToString(),
Value = ((int) v).ToString()
}),
new { onchange = "$(this.form).submit()" })
}
正如你所看到的,有被髮送到控制器三個對象:
Model.SelectedCategoryGuid
,Model.SelectedWorkFlowStatus
和EntityName
。
WorkFlowStatus
是一個枚舉,並且由於某種原因,每當我點擊DropDownList中的任何枚舉時,它總是成爲第一個枚舉。
我有得到插入到DropDownList的這三個枚舉值:
- 草稿,已發佈和存檔。
所以,當我點擊其中任何一個,當我將鼠標懸停在控制器中的變量,我看到參數變量:workflowstatus
總是草案(這是第一個)。
有誰知道爲什麼正確的枚舉不被傳遞過來?
這真是煩我......
完美運作。謝謝。 – Subby