避免在UrlHelper.Action和ModelState.AddModelError中使用硬编码字符串

时间:2013-03-21 14:26:48

标签: asp.net-mvc asp.net-mvc-3 modelstate urlhelper

我有以下代码行:

return Json(new { redirectTo = UrlHelper.Action("Index", "Home") });

ModelState.AddModelError("Useraccount.Email", emailAlreadyExistsException.Message);

对于UrlHelper.Action方法和ModelState.AddModelError方法,我想避免使用硬编码字符串。有更好的可能吗?

1 个答案:

答案 0 :(得分:1)

您可以创建一个常量文件并改为使用常量:

public static class Constants 
{
    public const string HomeController = "Home";
    public const string IndexAction = "Index";
    public const string UserAccountEmail = "Useraccount.Email";
}

然后您的代码变为:

return Json(new { redirectTo = UrlHelper.Action(Constants.IndexAction, Constants.HomeController) });

ModelState.AddModelError(Constants.UserAccountEmail, emailAlreadyExistsException.Message);

作为验证的替代方法,您可以使用FluentValidation

之类的库