0

我刚刚发现使用 RemoteAttribute 的远程验证将不起作用,除非:

  1. 远程验证的操作方法没有 [ActionName] 属性,或者
  2. 远程验证的操作方法具有 [ActionName] 属性,该属性是与实际操作方法名称不区分大小写的匹配项。

使用以下内容,MVC 会抛出 InvalidOperationException “找不到远程验证的 url。”:

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

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

4

1 回答 1

1

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

如果您提供操作方法的名称(与ActionName属性中声明的名称相反),则将VirtualPathProvider使用底层操作方法的名称生成一个 URL。如果您提供在 ActionName 属性中声明的名称,则将使用在 ActionName 属性中声明的方法名称生成 URL。

于 2011-10-25T19:55:44.970 回答