如何在异步控制器中验证模型状态
|
我正在尝试使用异步控制器,但无法弄清楚如何验证用户输入。
以下是控制器中定义的两个异步方法。我应该在SearchAsync方法还是SearchCompleted方法中检查ModelState.IsValid。如果使用SearchAsync,则由于其返回类型为空,如何返回视图结果。如果使用SearchCompleted,则该方法将如何知道searchForm参数。
[HttpPost]
[ValidateAntiForgeryToken]
public void SearchAsync(BusinessSearchForm searchForm)
{
AsyncManager.OutstandingOperations.Increment();
new Thread(() =>
{
var suggestions = _searchSvc.GetSuggestions(searchForm.BusinessName, searchForm.StreetAddress, searchForm.City, searchForm.PostalCode);
AsyncManager.Parameters[\"suggestions\"] = suggestions;
AsyncManager.OutstandingOperations.Decrement();
}).Start();
}
public ActionResult SearchCompleted(IEnumerable<BusinessSuggestionBase> suggestions)
{
return View(suggestions);
}
没有找到相关结果
已邀请:
2 个回复
桔适丛
蓄荣糖些
在Async方法中
在Completed方法中检查并查看是否存在验证问题。只是不要增加未完成的操作,并且不执行任何进一步的逻辑。将触发Completed方法,您可以检查该值。