我想要一個簡單的下拉列表,其中包含值「升序」和「降序」,然後在Index()方法中按下搜索按鈕時將其作爲sortOrder發送到控制器。我嘗試了很多不同的東西,只是無法讓這個工作,我做錯了什麼。我不想讓這個模型,我只想從下拉列表中找到一個簡單的「Asc」或「Desc」到sortOrder變量中。無法使Dropdownlist正常工作
UserController.cs
public ViewResult Index(string searchString, string sortOrder = "Asc")
{
var sortOrderParam = new[]
{
new SelectListItem { Value = "Asc", Text = "Ascending" },
new SelectListItem { Value = "Desc", Text = "Descending" }
};
var users = from u in db.TBL_SYS_USER
select u;
if (!string.IsNullOrEmpty(searchString))
{
users = users.Where(x => x.USER_FIRST_NAME.ToUpper().Contains(searchString.ToUpper()));
}
switch (sortOrder)
{
case "Desc":
users = users.OrderByDescending(u => u.USER_FIRST_NAME);
break;
default:
users = users.OrderBy(u => u.USER_FIRST_NAME);
break;
}
PopulateFieldDropdownList("");
return View(users.ToList());
}
Index.cshtml
@using (Html.BeginForm())
{
<p>
Search Criteria: @Html.TextBox("searchString")
Order By: @Html.DropDownList("sortOrderParam")
<input type="submit" value="Search"/>
</p>
}