我有一个带有许多参数的控制器动作。如果没有传递参数,我想返回一个不同的视图。我想要一行代码来检测这一点,而不是检查每个参数以确定没有传递任何内容。
public ActionResult Index(SearchViewModel model)
{
// doesn't work
if (model.Equals(new SearchViewModel())) return View("differentview", model);
或者我应该采用不同的设计方法?我有一个Search控制器和一个SearchResults控制器,我将它们组合到同一个控制器中,它将根据传递给它的内容返回不同的视图。我应该以不同的方式去做吗?所有大男孩网站在那里做得怎么样?
答案 0 :(得分:-1)
如果 ( model == null || model.ToString()==“”|| model.GetType()。GetProperties()。Any(x => AnyNull(x.GetValue(model))) ) { ....... }
答案 1 :(得分:-1)
在模型中创建属性,并使用数据注释将它们设置为[REQUIRED]。
public class SearchModel{
[Required,AllowHTml]
public string SearchTerms {get;set;}
}
在控制器中检查模型的状态是否有效:
if(!ModelState.IsValid)return new HttpStatusCodeResult(HttpStatusCode.BadRequest);