我有以下代码块
public ActionResult Tabs(SearchViewModel svm)
{
if (Request.IsAjaxRequest())
{
svm.Summary = _entitySearchService.GetSearchDataSummary(svm.Search);
return PartialView(svm);
}
else
{
return RedirectToAction("QuickSearch", "Search"
, new RouteValueDictionary { { "search", svm.Search } });
}
}
如果用户提交的搜索以空格结尾,例如“something”,如果是ajax请求,则可以正常工作,但如果不是ajax请求,则请求将被重定向到不同的操作方法,此时出现问题并返回404。
我可以做一个
trim()
在
else
条款,例如。
new RouteValueDictionary { { "search", svm.Search.Trim() } }
但也有一些地方会发生这种情况。理想情况下,我可以在一个地方完成这一切。
如果我把它放在控制器里会不会被认为太黑了
Initialize
protected override void Initialize(RequestContext requestContext)
{
// do a test to see if there's a 'search' parameter in requestContext,
// and if so, trim it
base.Initialize(requestContext);
}
还是有其他更好的方法?