viewmodel中的RemoteAttribute和相应的action方法中的ActionNameAttribute(MVC3)

时间:2011-10-25 18:51:35

标签: asp.net-mvc-3 jquery-validate unobtrusive-validation t4mvc remote-validation

我刚刚发现除非使用RemoteAttribute进行远程验证:

  1. 远程验证的操作方法没有[ActionName]属性或
  2. 远程验证的操作方法具有[ActionName]属性,该属性与实际操作方法名称不区分大小写。
  3. 使用以下命令,MVC抛出InvalidOperationException“无法找到用于远程验证的URL。”:

    [ActionName("validate-my-widget")]
    public virtual JsonResult ValidateMyWidget(string value1, string value2) 
    {
    ...
    }
    

    知道为什么吗?如果有所作为,我正在使用T4MVC。

1 个答案:

答案 0 :(得分:1)

您在Remote属性中提供的操作名称是什么?

如果要提供操作方法的名称(而不是ActionName属性中声明的名称),则VirtualPathProvider将使用基础操作方法的名称生成URL。如果提供在ActionName属性中声明的名称,则将使用在ActionName属性中声明的方法名称生成URL。