如何搜索在MVC EF中工作的int条目?

时间:2019-04-10 01:06:31

标签: c# asp.net-mvc

我正在尝试在MVC中搜索一个4位数的邮递号,而我的代码不起作用,是什么原因使其无法正常工作?

到目前为止,我已经在网络上尝试了许多不同的解决方案,但是都没有成功。甚至在尝试将其转换为字符串时也没有,这只会造成很大的错误,因此我真的放弃了。

public ActionResult Index(int search)
        {
            var storingen = from s in db.tbl_Storing
                            select s;
            if (search != null)
            {
                storingen = storingen.Where(s => s.postcode_nr == (search));
            }
            return View(storingen.ToList());
        }

那是从我的控制器来的,这是从我的实际观点来看的:

Zoek op postcode: @Html.TextBox("search")
    <input type="submit" value="Search" />

现在,当我实际填写两个当前存在的数字之一并点击搜索时,什么也没有发生,没有错误,什么也没有。

1 个答案:

答案 0 :(得分:1)

您可以从int更改为int?,并检查控制器中的搜索是否为空。

如果用户输入abc之类的文本,则搜索参数会将null传递给控制器​​。

[HttpGet]
public ActionResult Index(int? search)
        {
            // check search null before query

            var storingen = from s in db.tbl_Storing
                            select s;
            if (search != null)
            {
                storingen = storingen.Where(s => s.postcode_nr == (search));
            }
            return View(storingen.ToList());
}

这是cshtml的示例

 <form action="/YourController/Index" method="get">
        Zoek op postcode: @Html.TextBox("search")
        <input type="submit" value="Search" />
    </form>