我试图在MVC 3中首次使用远程数据注释。 我错过了一些简单的事情。设置根本没有触发控制器动作,我没有看到问题。
我正在尝试验证用户名的唯一性。
以下是代码设置。
查看代码
@Html.Raw(Html.Script("jquery.validate.min.js"))
@Html.Raw(Html.Script("jquery.validate.unobtrusive.min.js"))
<tr>
<td class="editor-label">@Html.LabelFor(model => model.UserName):</td>
<td class="editor-field">@Html.EditorFor(model => model.UserName)</td>
<td>@Html.ValidationMessageFor(model => model.UserName)</td>
</tr>
ViewModel代码
[DisplayName("Username")]
[StringLength(100)]
[Remote("CheckIfUsernameExists", "UserProfile", ErrorMessage = "This username is taken. Please enter a different user name.")]
public string UserName { get; set; }
控制器代码
[HttpGet]
public JsonResult CheckIfUsernameExists(string userName)
{
return Json("false");
}
答案 0 :(得分:1)
检查您的设置,客户端验证和不显眼的应该启用
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
以下代码应该起作用
[Get]
public JsonResult CheckIfUsernameExists(string userName)
{
return Json(false,JsonRequestBehavior.AllowGet);
}