我有这个 ViewData 和 DropDownList 需要有不同的值。让我在上下文中为您介绍,在我看来,当我创建一个“项目”时,它可以将其“样式值”设置为某些东西(它是一个字符串字段),例如“Pop”。在我的下拉过滤器内的索引页面上,我将在其中包含“Pop”。如果我创建第二个项目,其样式值为“Pop”,下拉菜单将显示两次。我不想要那个。
我要做的第二件事是在我的下拉过滤器中设置一个默认值,这样当我选择该值时,它将删除所有过滤器并显示添加的所有项目的完整列表。
如果我没有说清楚,就这么说吧。
这是我的代码中的情况。
我的控制器:
public ActionResult Index()
{
var projects = from s in db.Project select s;
var projectList = db.Project.ToList();
if (Request.Form["FilterStyle"] != null && Request.Form["FilterStyle"] != "")
{
int i = int.Parse(Request.Form["FilterStyle"]);
projects = from s in db.Project
where s.ID == i
select s;
}
if (Request.Form["FilterStyle"] == null)
{
projects = from s in db.Project select s;
}
ViewData["Styles"] = new SelectList(projectList, "ID", "Style");
return View(projects);
}
我的观点 :
@using (Html.BeginForm())
{
<table>
<thead>
<tr align="left">
....
<th>
Style :
<br /><br />
@Html.DropDownList("FilterStyle", (SelectList)ViewData["Style"], " ", new { onchange = "this.form.submit()" })
</th>
....
</tr>
</thead>
<tbody>
....
</tbody>
</table>
}