C# Ajax.BeginForm是否在MVC中通过jQuery UI对话框成功捕获?

C# Ajax.BeginForm是否在MVC中通过jQuery UI对话框成功捕获?,c#,ajax,asp.net-mvc,jquery-ui,jquery-ui-dialog,C#,Ajax,Asp.net Mvc,Jquery Ui,Jquery Ui Dialog,我正在使用Jquery UI对话框加载部分视图。在partialview post submit中,我希望在updateSuccess函数中捕获结果。但函数从未被调用,结果显示在页面上 父页 局部视图 @使用(Ajax.BeginForm(“索引”,“联系人提交”,新的AjaxOptions{ InsertionMode=InsertionMode.Replace,HttpMethod=“POST”, OnSuccess=“updateSuccess”},新的{enctype=“多部分/表单数据

我正在使用Jquery UI对话框加载部分视图。在partialview post submit中,我希望在
updateSuccess
函数中捕获结果。但函数从未被调用,结果显示在页面上

父页 局部视图
@使用(Ajax.BeginForm(“索引”,“联系人提交”,新的AjaxOptions{
InsertionMode=InsertionMode.Replace,HttpMethod=“POST”,
OnSuccess=“updateSuccess”},新的{enctype=“多部分/表单数据”,
@class=“form horizontal”,role=“form”})
{
//Html代码在这里
提交
取消
}
提交后在浏览器上显示如下内容


如何处理该问题,以及在提交结果后如何调用函数?

您需要在不引人注意的情况下引用jquery,否则视图将更改

这让我以前很吃惊,因此我发现在jQuery中编写自己的ajax调用要容易得多,所以我不需要这个引用


祝您好运

@james123您可以使用visual studio中的nuget软件包控制台安装它,也可以下载它或引用CDN。到这里来参考正确的一个。一旦被引用,它将立即工作。确保您的引用是在jquery引用I安装了Microsoft.jquery.Unobtrusive 3.0之后,但我没有看到任何JS文件。Package.config有引用。检查脚本/导入的库这通常是nuget放置js文件的地方。你也需要在你的视图中引用这个脚本,我知道了。我是否需要在“@Scripts.Render(“~/bundles/jquery”)”@James123之后包含此内容-不用担心,很高兴您对其进行了排序:)
    <script type="text/javascript">

            function display_dialog() {

               $('#my-dialog').dialog({
                    resizable: false,
                    modal: true,
                    show: "blind",
                    hide: "blind",
                    open: function (event, ui) {
                        $(this).load("/ContactSubmission/Index" );
                    }
                });

     function updateSuccess(data) {
                if (data.Success == true) {
                    alert("Inside Update");
                    //now we can close the dialog
                  $('#my-dialog').dialog( "close" );
                    //twitter type notification
                    $('#commonMessage').html("Update Complete");
                    $('#commonMessage').delay(400).slideDown(400).delay(3000).slideUp(400);
                } else {
                    $("#update-message").html(data.ErrorMessage);
                    $("#update-message").show();
                }
            }
  </script>
public ActionResult Index()
{
  var contact = new Contact
  {
        Countries = Context.GetCountries()
   };           
    return PartialView(contact);
}
[HttpPost]
public JsonResult Index(Contact contact)
{
   if (ModelState.IsValid)
   {
     if (contact != null)
     {
         //Some business logic is here
         var result = new { Success = "True", Message = "No Error" };
         return Json(result, JsonRequestBehavior.DenyGet);
     }
     else{
         var result = new { Success = "False", Message = "Contact is Null" };
         return Json(result, JsonRequestBehavior.DenyGet);
     }
   }
   else
   {
      var result = new { Success = "False", Message = "Invalid state" };
      return Json(result, JsonRequestBehavior.DenyGet);
    }
  }
@using (Ajax.BeginForm("Index", "ContactSubmission", new AjaxOptions{ 
           InsertionMode = InsertionMode.Replace, HttpMethod = "POST",
           OnSuccess = "updateSuccess" },new { enctype = "multipart/form-data",
           @class = "form-horizontal", role = "form" }))
  {
      // Html code is here
       <div class="form-group">
          <div class="col-sm-4 col-md-offset-5">
            <button type="submit" class="btn btn-primary">Submit</button>
            <button type="button" class="btn btn-default" id="cancel">Cancel
            </button>
          </div>
       </div>           
    }