MVC:我可以在控制器中使用ModelState吗?
我可以这样做吗?
... using System.Web.Mvc; ... public static class aaa { public static test() { if (something) ModelState.AddModelError("", "test"); } }
内部控制器调用:
…
public class mycontroler { public void Index() { .... aaa.test(); .... } }
可能吗? 我想控制控制器另一部分中的类内部的代码。
您可以像这样传递模型状态:
public static void test(ModelStateDictionary ModelState) { if (something) ModelState.AddModelError("", "test"); }
并从您的控制器内部调用:
aaa.test(ModelState);
不,你不能。 你在Controller中引用的是它的属性 ,而不是类。 您仍然可以将其传递给作为参数调用的方法。
在ASP.NET Core 2中运行良好:
//Controller if (MyValidator.SaveValidation(model, ModelState)) { myManager.Update(model); return Json(new { responseText = "Saved" }); } //Validator public static class SaveDossierValidator { public static bool SaveValidation(MyModel model, ModelStateDictionary modelState) { if (model.property == null) { modelState.AddModelError("property", "Error message"); } return modelState.IsValid; } }
- C#ASP.NET MVC手动访问Request.Form和潜在危险值
- 返回自定义错误
- 在ASP.NET MVC中发布/重定向/获取模式
- EF6 Code First具有通用存储库和dependency injection和SoC
- ASP.NET Web API部分响应Json序列化
- 从DateTime列表中找到常见的DateTime,如果没有常见,则查找最常见的
- 拦截asp.net核心授权操作以在成功授权后执行自定义操作
- Azure Active Directory与MVC,客户端和资源标识相同的应用程序
- LINQ to Entities无法识别方法’System.String get_Item(System.String)’,