在同一页面上使用搜索框和webgrid,该页面应该基于什么模型?

时间:2011-08-31 09:19:14

标签: asp.net-mvc asp.net-mvc-3 webgrid

刚开始使用ASP.NET MVC - 我在ASP.NET MVC3中有一个包含搜索框的页面,当用户将其填满并搜索时,在搜索框下方,webgrid显示搜索结果。

我已将我的(剃刀)视图基于模型List<articles>,因此视图知道文章是什么,我的webgrid可以向我显示文章列表。但是,我还需要验证搜索框。我有一个“searchmodel”,它将searchbox作为必填字段,但我不能将视图基于文章列表以及“searchmodel”(我可以吗?)。

当然我希望MVC的内置(客户端和服务器端)验证能够正常工作,但要做到这一点,我需要将视图基于我的“searchmodel”,并且gridview将不再有效。

任何人都可以解释我会如何解决这个问题吗?

谢谢,

埃里克

1 个答案:

答案 0 :(得分:1)

定义视图模型:

public class MyViewModel
{
    [Required]
    public string Search { get; set; }

    public List<articles> Articles { get; set; }
}

现在强烈地将您的视图键入MyViewModel并让您的控制器操作将此新视图模型的实例传递给视图,而不仅仅是List<articles>。这样你就拥有了一切。