【问题标题】:javascript load mvc @renderPage [closed]javascript加载mvc @renderPage [关闭]
【发布时间】:2014-02-18 14:36:47
【问题描述】:

如何在 JavaScript 或 jQuery 页面加载中使用 @RenderPage?我已经尝试过了,但它不起作用:

$("#ActivePageContent").load('@RenderPage("/Views/Port.cshtml")');

【问题讨论】:

    标签: javascript asp.net asp.net-mvc razor


    【解决方案1】:

    您将服务器端代码与客户端代码混淆了。 @RenderPage 只是将视图的渲染 HTML 直接转储到 Response。您可以检查页面的来源以进行验证。你会得到一些看起来很像......

    $("#ActivePageContent").load('<html><head><title>Some Page</title>...');  
    

    目前尚不清楚您真正想用 jQuery load() 方法做什么,但 @RenderPage 不会让您到达那里。

    来自jQueryload() 应该获取一个 URL:

    $( "#result" ).load( "ajax/test.html" );
    

    也许你打算写这样的东西?

    $("#ActivePageContent").load('@Url.Action("Port", "MyController")');  
    

    【讨论】:

    • 好的,但我试过了,但还是不行blog.devlpr.net/2011/01/03/jquery-load-with-mvc-2-partialviews
    • 在您链接的示例中,load() 使用的是 URL。它具有误导性,因为 URL 中包含 PartialView,但它仍然是一个 URL。尝试使用 UrlHelper 方法 Url.Action() 代替,这将生成控制器上操作方法的 URL。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多