我需要创建自己的验证功能,我发现了这个:http://www.tugberkugurlu.com/archive/asp-net-mvc-remote-validation-for-multiple-fields-with-additionalfields-property
我试图使用远程属性,但是chrome并没有向我的JsonResult方法发送任何信息,我也不知道为什么。
我的ViewModel:
[Remote("Divisibility", "Account", HttpMethod = "POST", ErrorMessage = "Value is incorrect.")]
public int Amount { get; set; }
我的观点:
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
@using (Html.BeginForm())
{
for (var i = 0; i < Model.FirstSetList.Count; i++)
{
<tr>
<td>
@Html.DisplayFor(model => model.FirstSetList[i].Name)
@Html.HiddenFor(model => model.FirstSetList[i].Name)
</td>
<td>
@Html.DisplayFor(model => model.FirstSetList[i].Pack)
@Html.HiddenFor(model => model.FirstSetList[i].Pack)
</td>
<td>
@Html.TextBoxFor(model => model.FirstSetList[i].Amount)
@Html.ValidationMessageFor(model => model.FirstSetList[i].Amount)
</td>
</tr>
}
<input type="submit" value="Confirm" class="btn btn-success" />
}
</table>
</div>
我的控制器:
[HttpPost]
public JsonResult Divisibility(int Amount)
{
var value = User.Identity.GetUserId().Where(x => x.Equals("qqqqq"));
//I know that this condition does not make sense, but this was only for test.
//Anyway like i said, chrome doesn't send anything to this method.
return Json(value == null);
}
更新
与Remote Validation for LIST of MODELs不一样的问题 我的远程属性,不会将任何信息发送到我的JsonResult方法,而不是null,而不是0只是没有!切勿在此方法中达到断点。此外,在chrome的NETWORK CONSOLE中,没有任何流量。看起来AJAX在这种情况下不起作用,我不知道为什么?
答案 0 :(得分:0)
尝试将洞模型传递给JsonResult方法,例如:
<强>控制器强>
[HttpPost]
public JsonResult Divisibility(ModelName model)
{
//user your variable name
model.Value = User.Identity.GetUserId().Where(x => x.Equals("qqqqq"));
return Json(value == null);
}
或删除&#34; HttpPost&#34;只是为了看看它现在是否通过了值:
<强>型号:强>
[Remote("Divisibility", "Account", ErrorMessage = "Value is incorrect.")]
public int Amount { get; set; }
<强>控制器强>
[HttpGet]
public JsonResult Divisibility(int Amount)
{
var value = User.Identity.GetUserId().Where(x => x.Equals("qqqqq"));
return Json(value == null);
}