Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 仅验证ajax加载的局部视图_Asp.net Mvc 3_Unobtrusive Validation_Asp.net Mvc Validation - Fatal编程技术网

Asp.net mvc 3 仅验证ajax加载的局部视图

Asp.net mvc 3 仅验证ajax加载的局部视图,asp.net-mvc-3,unobtrusive-validation,asp.net-mvc-validation,Asp.net Mvc 3,Unobtrusive Validation,Asp.net Mvc Validation,我有一个带有一些控件的窗体。窗体上有一个按钮,用于加载局部视图。在局部视图中,有两个必填字段文本框以及一个按钮。当它被点击时,我只需要为部分视图中的文本框显示错误消息,而不是为实际表单中的字段显示错误消息。当我点击表单的提交按钮时,所有的错误信息都会显示出来 加载部分视图后,我将重新初始化验证插件,如下所示 $('#test').removeData("validator"); $.validator.unobtrusive.parse('#test'); 我尝试使用下面线程中描述的验证属性,

我有一个带有一些控件的窗体。窗体上有一个按钮,用于加载局部视图。在局部视图中,有两个必填字段文本框以及一个按钮。当它被点击时,我只需要为部分视图中的文本框显示错误消息,而不是为实际表单中的字段显示错误消息。当我点击表单的提交按钮时,所有的错误信息都会显示出来

加载部分视图后,我将重新初始化验证插件,如下所示

$('#test').removeData("validator");
$.validator.unobtrusive.parse('#test');
我尝试使用下面线程中描述的验证属性,但它不起作用。也许它适用于正常加载的视图


但是,我可以通过调用textbox1.valid()和textbox2.valid()分别进行验证。但我认为我缺少了做这件事的标准方法。非常感谢您的帮助。

您可以通过使用Ajax.BeginForm()提交局部视图来实现这一点

@使用(Ajax.BeginForm(“SomeActionName”,新的AjaxOptions{HttpMethod=“POST”,UpdateTargetId=“targetId”})) {

然后在partail视图中,您可以调用Ajax.BeginForm的OnSuccess方法

     @using (Ajax.BeginForm("SomeActionName", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "targetId",OnSuccess="success"}))
         {

         }

<script type="text/javascript">

  function success(data)
  {
        if(data.redirect)
        {
            windows.location = data;
        }
  }
</script>
@使用(Ajax.BeginForm(“SomeActionName”,新的AjaxOptions{HttpMethod=“POST”,UpdateTargetId=“targetId”,OnSuccess=“success”}))
{
}
功能成功(数据)
{
if(data.redirect)
{
windows.location=数据;
}
}

检查两种方式哪一种适合您。

sundeep是否只验证部分视图控件?是否有人可以建议其他选项。。
           @Html.EditorFor(mode=>model.FirstText)
           @Html.EditorFor(mode=>model.SecText)
           <input type="submit" value="save">
 }

//In Controller

public ActionResult SomeAction(SomeModel model)
{
    return PartaiulView(model);
}
//In View

<div id="targetId">
   @Html.Partail("PartialView")
</div>
public ActionResult SomeAction(SomeModel model)
    {
        if(ModelState.IsValid)
        {
            return Json(new {redirect = @Url.Action("SomeAction","SomeController")})
        }
        return PartaiulView(model);
    }
     @using (Ajax.BeginForm("SomeActionName", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "targetId",OnSuccess="success"}))
         {

         }

<script type="text/javascript">

  function success(data)
  {
        if(data.redirect)
        {
            windows.location = data;
        }
  }
</script>