我正在尝试使用姓氏构建simnple搜索工具来搜索我的员工。
这是我的Razor View
@using(Html.BeginForm("Index","Employee", FormMethod.Post))
{
<p>
Search employees by Last Name : @Html.TextBox("SearchString")
<input type="submit" value="Submit" name="Search" />
</p>
}
这是我的控制器
// GET: /Employee/
public ActionResult Index(string lastName)
{
var employees = db.Employees;
if (!String.IsNullOrEmpty(lastName))
{
employees = employees.Where(p => p.LastName.ToUpper().Contains(lastName.ToUpper()));
}
return View(employees.ToList());
}
调试显示提交按钮回发到索引方法,但返回到Index方法的值lastName始终为null。如何正确传递lastName?
答案 0 :(得分:3)
您的@Html.TextBox("SearchString")
名称和操作方法参数名称必须匹配。 (SearchString在)
[HttpPost]
public ActionResult Index(string SearchString)
{
var employees = db.Employees;
if (!String.IsNullOrEmpty(SearchString))
{
employees = employees.Where(p => p.LastName.ToUpper().Contains(SearchString.ToUpper()));
}
return View(employees.ToList());
}
答案 1 :(得分:0)
您必须在ActionResult
中为变量命名与字段名称相同,因此在您的示例中,要么将TextBox
值设置为lastName
,要么将变量命名为{{1}转到ActionResult Index