
您尚未发布模型或控制器的代码,但假设您已将其
RemoteAttribute应用于属性
Username,例如
public class MyModel{ [Remote("IsValidUserName", "Person")] public string Username { get; set; }}用一种方法
PersonController
public JsonResult IsValidUserName(string Username){ ....}和视图
@model List<Person>...@for (var i = 0; i < Model.Count; i++){ @Html.EditorFor(m => m[i].Username) }这将生成诸如
<input name="[0].UserName" ... /><input name="[1].UserName" ... />
不幸的是,中的
remote方法
jquery-validate回传了元素的名称和值,因此ajax调用看起来像
$.ajax({ url: '/Person/IsValidUserName', data: { [0].UserName: 'someone@somewhere.com' }, ...不会绑定。
我已经在Codeplex上将此问题报告为可能的解决方案。同时,您可以按以下
remote方式修改
jquery-validate.js文件中的方法
remote: function(value, element, param) { .... var data = {}; // data[element.name] = value; data[element.name.substr(element.name.lastIndexOf(".") + 1)] = value; // add this这将删除前缀,以便发布的数据为
data: { UserName: 'someone@somewhere.com' },并将正确绑定到该方法。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)