我可以加入页面列表并在一个索引中搜索吗?

时间:2018-06-04 19:08:20

标签: c# asp.net-mvc asp.net-mvc-5

    public ActionResult Index(string search = "")
    {
        var data = GetZamowienia(search);
        ViewBag.search = search;
        ViewBag.Pojazd = new SelectList((from p in db.Pojazd select new
        {
            ID = p.IDPojazdu,
            FullPojazd = p.Marka + " " + p.Model }),
            "ID",
            "FullPojazd",
            null);
        return View(data);
    }

    public ActionResult Index(int? page)
    {
        var zamowienie = db.Zamowienie;
        int maxRows = 1;
        IOrderedQueryable<Zamowienie> zamowienia = (from zam in db.Zamowienie
                                                    select zam)
        .OrderBy(prac => prac.IDPracownika);
        int pageNumber = (page ?? 1);
        return View(zamowienia.ToPagedList(pageNumber, maxRows));
    }

    public List<Zamowienie> GetZamowienia(string search)
    {
        {
            var v = (from a in db.Zamowienie
                     where
                             a.Pracownik.Imie.Contains(search)
                     select a
                            );
            return v.ToList();
        }
    }

这是错误: 控制器类型'ZamowienieController'上当前的操作请求'索引'在以下操作方法之间不明确: webrent.Controllers.ZamowienieController类型的System.Web.Mvc.ActionResult索引(System.String) System.Web.Mvc.ActionResult索引(System.Nullable`1 [System.Int32])类型为webrent.Controllers.ZamowienieController

我不知道如何制作工作网页列表并一起搜索。

1 个答案:

答案 0 :(得分:0)

错误消息告诉您有两个名为Index的方法。

您可以使用以下两种方法来解决此错误。

接近一:一个具有多个参数的索引方法

public ActionResult Index(string search = "", int? page = null)
{
    // Your code here
}

在您的请求网址中填写您要使用的参数。

例如:

  • myUrl.extension /控制器/索引?搜索= ABCDEF
  • myUrl.extension /控制器/索引?页= 3
  • myUrl.extension /控制器/索引搜索= ABCDEF&安培;页= 3

方法2:路线

在方法上配置路线

[Route("SearchByName"]
public ActionResult Index(string search = "")
{
   // Your code here
}

现在网址应如下所示: myUrl.extension /控制器/ SearchByName?搜索= ABCDEF

[Route("GetByPage)]
public ActionResult Index(int? page)
{
    // Your code here
}

网址现在应该如下所示: myUrl.extension /控制器/ GetByPage?页= 3

相关问题