【问题标题】:multiple sub partial views(crud) inside a partial view inside a tab MVC选项卡MVC内的部分视图内的多个子部分视图(crud)
【发布时间】:2015-03-06 19:43:38
【问题描述】:

我想创建一个具有父视图的应用程序,其中有多个选项卡,每个选项卡内都有针对数据库特定表的 CRUD 操作。 所以我使用 jquery ui 在我的父视图中创建选项卡,并为每个表制作了一个局部视图“索引”并将它们呈现如下:

 <div id="tabs-1">
    @{Html.RenderAction("Index", "companies");}
 </div>
 <div id="tabs-2">
     @{Html.RenderAction("Index", "users");}
 </div>

对于 CRUD 操作,我使用 Html.RenderPartial 为在索引视图中渲染的每个操作创建了部分视图。

问题是只有索引视图显示在选项卡内,如果您单击其中一个 CRUD(例如创建新公司),它会将您重定向到另一个 url(例如公司/创建)。

那么在同一个选项卡中呈现它们的正确方法是什么? 有没有更好的方法来做到这一点? (我可能想到了 SPA)。

【问题讨论】:

  • 如果你想留在同一页面,而不是直接发布到控制器捕获AJAX请求中的内容,你可以在控制器中处理请求。
  • 您能否提供一个示例来说明如何做到这一点。
  • 你可能不会使用Html.RenderPartial,它有更具体的用途。您可能需要Html.Partial
  • 我有一个答案here 可能会对您有所帮助,我还写了一些关于使用 AJAX 的其他内容,还有一些关于视图模型的内容可能有用。

标签: jquery asp.net-mvc asp.net-mvc-4 single-page-application


【解决方案1】:

您可以使用此示例,在单击提交按钮时调用此方法 - 确保构建数据并以 JSON 格式发送。

对于部分视图 - http://www.codeproject.com/Tips/617361/Partial-View-in-ASP-NET-MVC

@Html.Partial("~/Views/Shared/_Product.cshtml", product);

Html.RenderPartial("~/Views/Shared/_Product.cshtml", product);

发送请求 - http://www.codeproject.com/Articles/795483/Do-GET-POST-PUT-DELETE-in-asp-net-MVC-with-Jquery

$.ajax({
    url: '/User/Create',
    dataType: "json",
    type: "POST",
    contentType: 'application/json; charset=utf-8',
    data: JSON.stringify({ user: { name: 'Rintu', email: 'Rintu@gmial.com' } }),
    async: true,
    processData: false,
    cache: false,
    success: function (data) {
        alert(data);
    },
    error: function (xhr) {
        alert('error');
    }
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    相关资源
    最近更新 更多