【问题标题】:Partial View Submit部分视图提交
【发布时间】:2013-03-05 15:19:51
【问题描述】:

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

$.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();
 }

我也尝试返回相同的局部视图,没有用?? 在部分视图中提交按钮后,我想留在同一页面

有什么建议吗?

【问题讨论】:

  • 你说它不起作用是什么意思?您的控制器是否正确返回了部分? Jquery 没有正确插入它吗?您的控制器中是否出现服务器错误?
  • 一切都在运行,但我想在保存数据后返回同一页面
  • 所以您只想在成功时重新加载整个页面,而不仅仅是您的 div?
  • 是的,这就是我想要的

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


【解决方案1】:

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

【讨论】:

  • 没有编辑字段用于下拉列表,但编辑索引用于部分视图
  • 您的 ajax 方法必须转到 URL /Edit/Index 才能点击您发布的操作,否则它将不起作用。
  • ajax 很好,我只想在保存数据后与部分视图保持在同一页面中。
  • 更改您的操作方法以返回 ActionResult 而不是 PartialViewResult,这样可以解决问题吗?究竟是什么错误?
  • 我做到了,把它重定向到一个只有下拉列表的页面,没有样式或任何东西。
【解决方案2】:
  • 选项 1:如果您的局部视图不是复杂视图,请避免返回局部视图...而是尝试从您的 Ajax 调用返回 json 数据,并使用 Jquery 将 json 数据绑定到父视图。

  • 选项 2:当您点击保存时,尝试使用 Ajax 调用而不是表单提交来保存您的数据。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 2018-02-10
    相关资源
    最近更新 更多