Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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
Javascript 在jQuery ajax发布期间,ASP.NET MVC3表单集合为0_Javascript_Jquery_Asp.net_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript 在jQuery ajax发布期间,ASP.NET MVC3表单集合为0

Javascript 在jQuery ajax发布期间,ASP.NET MVC3表单集合为0,javascript,jquery,asp.net,ajax,asp.net-mvc,Javascript,Jquery,Asp.net,Ajax,Asp.net Mvc,我正在开发一个ASP.NET MVC3应用程序 我试图发布到一个方法,该方法使用;但是,每当服务器处理请求时,我的表单集合的密钥计数为0,因此没有填充我的视图模型,这是一个问题 我正在将ajax应用于我的表单提交,如下所示: $(document).on("submit", "form", function (event) { event.preventDefault(); var form = $(this); $.ajax({

我正在开发一个ASP.NET MVC3应用程序

我试图发布到一个方法,该方法使用;但是,每当服务器处理请求时,我的表单集合的密钥计数为0,因此没有填充我的视图模型,这是一个问题

我正在将ajax应用于我的表单提交,如下所示:

 $(document).on("submit", "form", function (event) {
    event.preventDefault();
    var form = $(this);
    $.ajax({
        type: "POST",
        url: this.action,
        data: form.serialize(),
        contentType: "application/html; charset=utf-8",
        dataType: "html",
        success: function (result) {
            var d = new Date();
            var str = d.toString() + result;
            $('#dynamicContent').html(str);
        }
    });

});
  @Using Html.BeginForm("GetContent", "TheController", FormMethod.Post, New With {.id = "GetContentForm"})
            @Html.DropDownListFor(Function(model) model.SelectedTypeID, New SelectList(Html.NullListItemOptionList(Model.TypeOptions.ToList, "Please Choose"), "ID", "Name", Model.SelectedTypeID), New With {.onchange = " $(this).parents('form').submit();"})
            @<input type="submit" value="Refresh" style="cursor: pointer" />
  End Using
  <div id="dynamicContent">
  </div>
我的表单是这样创建的:

 $(document).on("submit", "form", function (event) {
    event.preventDefault();
    var form = $(this);
    $.ajax({
        type: "POST",
        url: this.action,
        data: form.serialize(),
        contentType: "application/html; charset=utf-8",
        dataType: "html",
        success: function (result) {
            var d = new Date();
            var str = d.toString() + result;
            $('#dynamicContent').html(str);
        }
    });

});
  @Using Html.BeginForm("GetContent", "TheController", FormMethod.Post, New With {.id = "GetContentForm"})
            @Html.DropDownListFor(Function(model) model.SelectedTypeID, New SelectList(Html.NullListItemOptionList(Model.TypeOptions.ToList, "Please Choose"), "ID", "Name", Model.SelectedTypeID), New With {.onchange = " $(this).parents('form').submit();"})
            @<input type="submit" value="Refresh" style="cursor: pointer" />
  End Using
  <div id="dynamicContent">
  </div>
@使用Html.BeginForm(“GetContent”,“TheController”,FormMethod.Post,新的{.id=“GetContentForm”})
@Html.DropDownListFor(函数(模型)model.SelectedTypeID,新建SelectList(Html.NullListItemOptionList(model.TypeOptions.ToList,“请选择”),“ID”,“Name”,model.SelectedTypeID),新建为{.onchange=“$(this).parents('form').submit();“})
@
终端使用
我的控制器方法是:

 <HttpPost()>
    Function GetContent(ByVal collection As FormCollection) As PartialViewResult

        Dim itemsVM As New ItemsViewModel
        TryUpdateModel(itemsVM, collection)
        Return PartialView("PartialItems", itemsVM)
    End Function

函数GetContent(ByVal collection作为FormCollection)作为PartialViewResult
Dim itemsVM作为新的ItemsViewModel
TryUpdateModel(itemsVM,集合)
返回PartialView(“PartialItems”,itemsVM)
端函数
这几乎就像表单的序列化不起作用一样,但我不知道如何解决这个问题。我真的很想了解一下为什么这不起作用


谢谢。

由于您正在发送表单参数,因此您使用的
contentType
不正确,这反过来会导致服务器无法接收您的数据,因为它需要html,并且没有接收任何数据。要解决这个问题,只需从
$中删除
contentType
选项。ajax

因为您发送表单参数,所以您使用的
contentType
不正确,这反过来会导致服务器无法接收您的数据,因为它需要html,并且没有接收任何数据。要解决此问题,只需从
$中删除
contentType
选项。ajax

删除contentType,您不会向服务器发送html。我想向服务器发送内容。我想发送所选的TypeID。谢谢。我删除了contentType,它成功了…现在我有另一个问题,因为我仍然没有从服务器上得到任何东西…但至少我的表单集合中有东西。我建议将其转移到第二个问题,更多地关注ASP方面的内容。我发现了这一点。是我在试图调试设置内容类型的问题时做的事情。请将您的答案发布为答案,以便我可以将其标记为:)删除contentType,您没有向服务器发送html。我想向服务器发送内容。我想发送所选的TypeID。谢谢。我删除了contentType,它成功了…现在我有另一个问题,因为我仍然没有从服务器上得到任何东西…但至少我的表单集合中有东西。我建议将其转移到第二个问题,更多地关注ASP方面的内容。我发现了这一点。是我在试图调试设置内容类型的问题时做的事情。你能把你的答案贴出来吗?这样我就可以这样标记:)