【发布时间】:2018-02-13 20:48:17
【问题描述】:
我正在使用 ASP.NET MVC。我在 SQL Server 中有一个Student 表,我想通过使用下拉列表在学生视图中执行(搜索)名称和按年级搜索。问题是搜索不起作用 - 当我点击搜索按钮时,它只会刷新所有学生的页面。
这是学生控制器代码
public ActionResult Index(string searching, string searchby, int? page)
{
var student = db.Supervisors;
if(searchby == "Name")
return View(student.Where(x => x.name.Contains(searching) || searching == null).ToList().ToPagedList(page ?? 1, 8));
else
return View(student.Where(x => x.grade.Contains(searching) || searching == null).ToList().ToPagedList(page ?? 1, 8));
}
这是剃须刀代码
@using (Html.BeginForm("Index", "student",FormMethod.Get))
{
@Html.DropDownList("Searchby", new SelectList(new[] { "Name", "Grade" }))
@Html.TextBox("search")
<input type="submit" value="Search" />
}
【问题讨论】:
-
需要将模型绑定到视图
-
Razor @Rawan 生成了什么 HTML?请将其包含在您的帖子中。
-
Razor 生成了什么 HTML?我只写 Razor 和控制器代码
-
searching为 null。使其不为空,或删除该部分查询。 -
您的表单中没有任何内容可以提交绑定到您的
searching参数的值,因此它始终为null。您的文本框名为search,而不是searching。
标签: c# sql-server asp.net-mvc