Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-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 4 ASP.NET MVC 4 Html.BeginForm在部分视图中,post后的值不正确_Asp.net Mvc 4_Asp.net Mvc Partialview - Fatal编程技术网

Asp.net mvc 4 ASP.NET MVC 4 Html.BeginForm在部分视图中,post后的值不正确

Asp.net mvc 4 ASP.NET MVC 4 Html.BeginForm在部分视图中,post后的值不正确,asp.net-mvc-4,asp.net-mvc-partialview,Asp.net Mvc 4,Asp.net Mvc Partialview,主页 ->第1节(有一些下拉列表和一个保存按钮) Ajax提交: $("#section1-form").submit(function () { $("#section1-saving").html("<img src='../../Images/ajax-loader.gif' />"); $.ajax({ url: this.action, type: this.method,

主页 ->第1节(有一些下拉列表和一个保存按钮)

Ajax提交:

$("#section1-form").submit(function () {

        $("#section1-saving").html("<img src='../../Images/ajax-loader.gif' />");

        $.ajax({
            url: this.action,
            type: this.method,
            data: $(this).serialize(),
            success: function (result) {
                $("#section1-saving").html("Saved!");
                $.ajaxSettings.cache = false;

                // Refresh the sub section 2 on the Section 2 tab
                $("#subSection2").load('../../Projects/subSection2/' + $("#ProjectID").val());
            },
            error: function (jqXHR, textStatus, errorThrown) {
                $("#section1-saving").html("Error: " + textStatus + " " + errorThrown);
            }
        });
        return false;
    });
$(“#第1节表格”)。提交(函数(){
$(“#第1节保存”).html(“”);
$.ajax({
url:this.action,
类型:this.method,
数据:$(this).serialize(),
成功:功能(结果){
$(“第1节保存”).html(“已保存!”;
$.ajaxSettings.cache=false;
//刷新第2节选项卡上的第2小节
$(“#subSection2”).load('../../Projects/subSection2/'+$(“#ProjectID”).val());
},
错误:函数(jqXHR、textStatus、errorshown){
$(“#第1节保存”).html(“错误:+textStatus+”+errorshown);
}
});
返回false;
});
问题是:调试器会在action方法中显示selectedModules的更新值,但不会在UI上显示


我遗漏了什么?

当我在单亲视图中有多个局部视图时,我遇到了这种问题。你应该做的是, 在父视图中,调用Section1局部视图 像


您可以发布HTML、JavaScript和操作方法代码吗?发布相关代码位您可以将结果加载到id为“subSection2”的元素中,这是
\u subSection2
partial中定义的内容吗?正确。问题在于,section1的UI中没有更新SelectedModules,而它在调试时给出了正确的值。除了表单提交会导致整个页面重新加载外,我看不到任何会更新section1的内容。关于通过AJAX重新加载独立面板,我总是参考此链接:
@using MyData
@model Section1ViewModel
@using(Html.BeginForm("EditSection1", "Project", FormMethod.Post, new { id = "section1-form", name = "section-form" }))
{
    @Html.HiddenFor(model => model.ProjectID)
 <table id="modules">
        <tr>
            <td class="bold" colspan="2">Modules
            </td>
        </tr>
        <tr>
            <td>
                @Html.DropDownListFor(m => m.SubmittedModules, new MultiSelectList(Model.AvailableModules, "ModuleID", "ModuleName", Model.SelectedModules.Select(m => m.ModuleID)),
                new { multiple = "multiple", @class = "multiselectb" })
            </td>
            <td>
                <input type="button" id="btnAddModule" value=" + " />
            </td>
        </tr>

        @foreach (Module b in @Model.SelectedModules)
        {
            <tr>
                <td colspan="2">
                    @b.ModuleName
                </td>
            </tr>
        }
   </table>
}
[HttpPost]
        public ActionResult EditSection1(Section1ViewModel viewModel)
        {
            Section1Data section1Data = new Section1Data(_UnitOfWork);
            // save changes
            section1Data.SaveSection1(viewModel);

            viewModel = section1Data.GetSection1ViewModel(viewModel.ProjectID);
            return PartialView("_Section1", viewModel);
        }
$("#section1-form").submit(function () {

        $("#section1-saving").html("<img src='../../Images/ajax-loader.gif' />");

        $.ajax({
            url: this.action,
            type: this.method,
            data: $(this).serialize(),
            success: function (result) {
                $("#section1-saving").html("Saved!");
                $.ajaxSettings.cache = false;

                // Refresh the sub section 2 on the Section 2 tab
                $("#subSection2").load('../../Projects/subSection2/' + $("#ProjectID").val());
            },
            error: function (jqXHR, textStatus, errorThrown) {
                $("#section1-saving").html("Error: " + textStatus + " " + errorThrown);
            }
        });
        return false;
    });
 <div id="tab-section1">
            @{Html.RenderPartial("_Section1", Model.Section1);}
        </div>
<div id="section2">
                @{Html.RenderPartial("_Section2", Model.Section2);}
            </div>
@Html.Partial("ViewName",Model.ModelName)