部分视图提交

时间:2013-03-05 15:19:52

标签: c# asp.net-mvc jquery model-view-controller

我有一个使用DropDown List的视图,在更改此下拉列表时,我获取id并使用Jquery Ajax填充部分视图,如下所示:

$.ajax({
                url: '/Edit/Fill',
                type: 'POST',
                async: true,
                data: { ID: ID },
                success: function (data) {
                    $('#Par').html(data);
                },

我的局部视图中有一个按钮,用于保存我的数据,我希望在保存后返回到同一页面。

[HttpPost]
    public PartialViewResult Index(FormCollection All)
    {
    //My Code

    Return PartialView();
 }
我也尝试返回相同的局部视图,没有工作? 我希望在“部分视图”中提交按钮后保持在同一页面

任何建议?

2 个答案:

答案 0 :(得分:1)

您的ajax方法指向/Edit/Fill,但您的操作方法名为Index。你的意思是/Edit/Index吗?其余的代码看起来很好。

答案 1 :(得分:0)

  • 选项1:如果您的局部视图不是复杂视图,请避免返回部分视图...而是尝试从Ajax调用返回json数据,并使用Jquery将json数据绑定到父视图。

  • 选项2:点击“保存”后,尝试使用Ajax调用来保存数据,而不是表单提交。

  • 选项3:表单提交要求页面重新加载,因此在页面加载收集下拉列表ID并执行Ajax调用以加载部分视图。 (您可能必须使用会话数据在局部视图中加载正确的值)