C# 简单下拉列表过滤器?
这似乎是一个经常被提及的话题,但其他帖子对于我想做的事情来说似乎过于复杂了。。下面是我在索引视图中创建的dropdownlist。我只想用这个下拉列表来改变我视图中的过滤器 索引C# 简单下拉列表过滤器?,c#,model-view-controller,C#,Model View Controller,这似乎是一个经常被提及的话题,但其他帖子对于我想做的事情来说似乎过于复杂了。。下面是我在索引视图中创建的dropdownlist。我只想用这个下拉列表来改变我视图中的过滤器 索引 @Html.DropDownList(“页面过滤器”,ViewData[“pgFilter”]作为列表) 控制器 List<SelectListItem> li = new List<SelectListItem>(); li.Add(new SelectListIt
@Html.DropDownList(“页面过滤器”,ViewData[“pgFilter”]作为列表)
控制器
List<SelectListItem> li = new List<SelectListItem>();
li.Add(new SelectListItem { Text = "Status & Test", Value = "0" });
li.Add(new SelectListItem { Text = "Status", Value = "1" });
li.Add(new SelectListItem { Text = "Test", Value = "2" });
li.Add(new SelectListItem { Text = "No Filter", Value = "3" });
ViewData["pgFilter"] = li;
List li=新列表();
li.Add(新建SelectListItem{Text=“Status&Test”,Value=“0”});
li.Add(新建SelectListItem{Text=“Status”,Value=“1”});
li.Add(新建SelectListItem{Text=“Test”,Value=“2”});
li.Add(新建SelectListItem{Text=“No Filter”,Value=“3”});
ViewData[“pgFilter”]=li;
这个想法很基本。如果选择了第一项,“状态”字段和“测试”字段都将使用特定过滤器进行过滤。他们也可以选择只选择一个过滤器或不选择过滤器
但是,我一直在努力寻找一个简单的解决方案,将所选项目传递给控制器以运行If语句。如果不使用任何模型,则可以使用以下方法 控制器:
public class HomeController : Controller
{
public ActionResult MyDropDownView()
{
// shows your form when you load the page
List<SelectListItem> li = new List<SelectListItem>();
li.Add(new SelectListItem { Text = "Status & Test", Value = "0" });
li.Add(new SelectListItem { Text = "Status", Value = "1" });
li.Add(new SelectListItem { Text = "Test", Value = "2" });
li.Add(new SelectListItem { Text = "No Filter", Value = "3" });
ViewData["pgFilter"] = li;
return View();
}
[HttpPost]
public ActionResult MyResultAction(string selectedFilterId)
{
//do what ever you want
return View();
}
}
公共类HomeController:控制器
{
公共操作结果MyDropDownView()
{
//加载页面时显示表单
List li=新列表();
li.Add(新建SelectListItem{Text=“Status&Test”,Value=“0”});
li.Add(新建SelectListItem{Text=“Status”,Value=“1”});
li.Add(新建SelectListItem{Text=“Test”,Value=“2”});
li.Add(新建SelectListItem{Text=“No Filter”,Value=“3”});
ViewData[“pgFilter”]=li;
返回视图();
}
[HttpPost]
公共操作结果MyResultAction(字符串selectedFilterId)
{
//你想干什么就干什么
返回视图();
}
}
视图:
@using (Html.BeginForm("MyResultAction", "Home"))
{
@Html.DropDownList("selectedFilterId", ViewData["pgFilter"] as List<SelectListItem>, "--pick--", new
{
title = "Pick Filter",
onchange = "submit();"
});
}
@使用(Html.BeginForm(“MyResultAction”、“Home”))
{
@DropDownList(“selectedFilterId”,ViewData[“pgFilter”]作为列表,“--pick--”,新建
{
title=“选择过滤器”,
onchange=“submit();”
});
}
滑动的项目值将被传递到主页
控制器的MyResultAction
希望这有帮助