3

我正在尝试构建简单的搜索实用程序,按姓氏搜索我的员工。

这是我的剃刀视图

    @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 方法,但返回到 Index 方法的值 lastName 始终为 null。如何正确传递姓氏?

4

2 回答 2

3

您的 @Html.TextBox("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());
}
于 2013-03-14T17:45:02.123 回答
0

您必须将变量命名ActionResult为与字段名称相同的名称,因此在您的示例中,将TextBox值设置为lastName或将变量命名ActionResult IndexSearchString

于 2013-03-14T17:44:51.237 回答