【问题标题】:MVC Partial Page RefreshMVC 部分页面刷新
【发布时间】:2015-12-22 18:41:01
【问题描述】:

我使用MVC 5 渲染初始视图,使用Kendo MVVMWebApi 使用数据填充控件。从控制器返回的视图本质上是一个SPA 应用程序。在初始渲染视图之后,页面上的所有进一步活动都通过 Kendo MVVMWebApi(客户端脚本)实现。

应用程序的菜单最初使用@Url.Action 链接来呈现新视图。这种方法的问题是,每次点击操作链接时,整页刷新都会重绘整个屏幕,包括顶部和侧边导航。

我用@Ajax.ActionLink 替换了@Url.Action 链接,并修改了控制器以返回部分视图。 @Ajax.ActionLink 允许将部分视图呈现为目标 Html 元素 (div)。

鉴于该应用程序本质上是 Html 5 应用程序而不是纯 MVC 应用程序,这是避免在选择新菜单项时刷新整页的最佳方法吗?

其次,我应该使用RenderBody() 还是有更好的方法?

问候 巴里

【问题讨论】:

  • 您需要 Jquery 或 Ajax 的帮助才能使用 Get 或 POST 到您的 WebAPI 或只是控制器。只需使用 PartialView 返回。带有部分视图项 cshtml。如果您不需要为此联系服务器端。只需使用 jquery 或用于绑定,使用 KnockOUT JS。如果您在共享视图文件夹中有一个布局文件,则最好使用 RenderBody()。如果不想使用,只需通过 Layout = null 将其取下即可。 Render Body 只是 PHP 中的 Include() 之类的调用。它与渲染脚本的作用并没有太大的不同,但它确保在运行脚本之前一切都准备好了。

标签: c# .net asp.net-mvc mvvm asp.net-web-api


【解决方案1】:

试试这个示例 jquery 代码按钮或任何控件单击或控件更改事件

var url= '/Service/Grid';
$("#DivID").load(url);

【讨论】:

    猜你喜欢
    • 2013-07-27
    • 2023-04-10
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    相关资源
    最近更新 更多