在MVC3 asp.net中搜索

时间:2012-05-03 16:44:59

标签: asp.net-mvc-3

我有多个搜索视图页面,例如searchArea.cshtml按区域搜索,searchCity.cshtml按城市搜索等等。我想用一个动作。在行动中我想切换案例和搜索类型的隐藏字段,如type = 1用于区域搜索,type = 2用于城市搜索,依此类推。这种类型将用于切换案例,以识别我想要搜索的类别。我有一个类似的搜索操作

     public ActionResult SearchPost(string searchString,int searchType)
    {

        var posts= from s in db.posts.Include("user")
                       select s;
        switch (searchType)
        {
            case 1:
                posts = db.posts.Include("user").Where(i => i.area == searchString);
                break;
            case 2:
                posts = db.posts.Include("user").Where(i => i.city == searchString);
                break;
            case 3:
                posts = db.posts.Include("user").Where(i => i.garage == searchString);
                break;
            case 4:
                posts = db.posts.Include("user").Where(i => i.p_code == searchString);
                break;

        }
        return View(db.posts.ToList());
    }

public ActionResult SearchPost(string searchString,int searchType) { var posts= from s in db.posts.Include("user") select s; switch (searchType) { case 1: posts = db.posts.Include("user").Where(i => i.area == searchString); break; case 2: posts = db.posts.Include("user").Where(i => i.city == searchString); break; case 3: posts = db.posts.Include("user").Where(i => i.garage == searchString); break; case 4: posts = db.posts.Include("user").Where(i => i.p_code == searchString); break; } return View(db.posts.ToList()); }   我想在一个共同的视图中显示结果。是否有任何想法通过单个视图搜索页面和单个视图搜索结果页面来实现它?可能吗???提前谢谢......

1 个答案:

答案 0 :(得分:0)

MVC模型绑定适用于您“手动”编码的输入(即不使用@Html helpers

因此,如果在视图中包含隐藏字段,并使用与您的case语句对应的硬编码值,它应该可以正常工作。

e.g。在searchArea.cshtml中包括

<input type="hidden" name="searchString" value="1" />

以及其余视图中的相应字段,他们都应该能够使用相同的操作。