刚开始使用ASP.NET MVC - 我在ASP.NET MVC3中有一个包含搜索框的页面,当用户将其填满并搜索时,在搜索框下方,webgrid显示搜索结果。
我已将我的(剃刀)视图基于模型List<articles>
,因此视图知道文章是什么,我的webgrid可以向我显示文章列表。但是,我还需要验证搜索框。我有一个“searchmodel”,它将searchbox作为必填字段,但我不能将视图基于文章列表以及“searchmodel”(我可以吗?)。
当然我希望MVC的内置(客户端和服务器端)验证能够正常工作,但要做到这一点,我需要将视图基于我的“searchmodel”,并且gridview将不再有效。
任何人都可以解释我会如何解决这个问题吗?
谢谢,
埃里克
答案 0 :(得分:1)
定义视图模型:
public class MyViewModel
{
[Required]
public string Search { get; set; }
public List<articles> Articles { get; set; }
}
现在强烈地将您的视图键入MyViewModel
并让您的控制器操作将此新视图模型的实例传递给视图,而不仅仅是List<articles>
。这样你就拥有了一切。