【问题标题】:How to RenderPage when clicked on a link单击链接时如何渲染页面
【发布时间】:2020-09-21 02:23:45
【问题描述】:

所以我有一个div,其中我有一个a 元素。我希望另一个div 在单击另一个div 中的a 元素后立即呈现另一个页面(RenderPage)。

<div id="Left" style="width:29.49%; height:100%; border-style:solid; border-color:darkgray;">
    <h1 id="Pages"> Articles </h1><br />
    <a OnClick="LoadUE()">UE</a>
    &nbsp;&nbsp;<a></a>
    <script>
        function LoadUnity() {

        }
        function LoadUE() {
            document.getElementById("Body").innerHTML = @{RenderPage("Bottom.cshtml")};
        }
    </script>
</div>
<div id="Body" style="width:69.49%; height:100%;">

</div>

【问题讨论】:

  • RenderPage 属于 ASP.NET 网页,而您用“Razor Pages”标记了您的问题,这是非常不同的。你能澄清一下你有什么类型的应用程序吗?它是如何创建的?
  • @MikeBrind asp.net 网络表单
  • 这绝对不是网络表单。您使用什么工具创建网站?
  • @MikeBrind ASP.NET Web 窗体解决方案中的简单 Razor3 页面

标签: asp.net razor asp.net-webpages


【解决方案1】:

RenderPage 方法仅在页面首次执行时在服务器上有效。如果您想从客户端脚本加载 ASP.NET 网页(您正在使用的网页)中的部分内容,您应该从文件名中删除前导下划线,然后创建一个 AJAX 请求来加载它。这是一个使用Fetch的示例:

@section scripts{
    <script>
        function loadUE() {
            fetch('/bottom')
                .then((response) => {
                    return response.text();
                })
                .then((result) => {
                    document.getElementById('body').innerHTML = result;
                });
        });
    </script>
}

附带说明一下,ASP.NET 网页框架几乎已经死了。如果您只是在学习并且有选择,您应该改用 Razor Pages:https://www.learnrazorpages.com/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 2014-01-14
    • 2013-05-02
    • 1970-01-01
    相关资源
    最近更新 更多