0

我有多个查看页面进行搜索,例如searchArea.cshtml按地区searchCity.cshtml搜索、按城市搜索等。我想使用一个动作。在行动中,我想为搜索类型切换大小写和隐藏字段,例如 type=1 用于区域搜索,type=2 用于城市搜索等等。这种类型将用于 switch case 以识别我要搜索的类别。我有一个搜索操作,例如

     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());
    }

我想在一个共同的视图中显示结果。有什么想法可以通过单视图搜索页面和单视图搜索结果页面来实现吗????是否可以???提前致谢...

4

1 回答 1

0

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

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

例如在searchArea.cshtml包括

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

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

于 2012-05-04T03:44:20.843 回答