假设我们有一个标准的 Ajax 表单,其语法如下:
@using(Ajax.BeginForm("AddCityJson", "City",new AjaxOptions
{
HttpMethod = "post",
OnSuccess = "JScriptOnSuccess();",
OnFailure = "JScriptOnFailure"
}))
{
...form fields go here...
}
一个简单的表单,它收集有关城市的一些信息,提交并保存它。
在控制器端,我们收到信息。如果一切顺利,我们返回 true 以触发 OnSuccess AjaxOption,如果失败则返回 false:
public JsonResult AddCityJson(Formcollection collection)
{
var city = new City
{
...populate city fields from passed in collection
}
var cityRepository = new CityRepository;
city = cityRepository.SaveOrEdit(city);
if(city==null)
{return Json(false)}
return Json(true);
}
在控制器 AddCityJson 方法内部,我需要添加各种检查。可能检查城市名称是否已经存在或任何其他验证,如果我遇到错误或警告,请将其返回 UI。
如果我的 Ajax 表单期望返回 ajax true 或 false 以及该帖子是否成功,我如何将任何错误/警告消息传递给 UI?
我想避免使用 ViewData、ViewBags。谢谢你。