【问题标题】:Razor Pages on Asp.Net Core - Added Razor Page but cant get page to showAsp.Net Core 上的 Razor 页面 - 添加了 Razor 页面但无法让页面显示
【发布时间】:2021-06-26 18:06:44
【问题描述】:

我仍在为 .Net Core 的 Razor Pages 解决很多问题,并且有点卡住了一些东西。我添加了一个新的 Razor 页面:

位于Pages 文件夹中:

在现有页面上,我添加了一个输入和一个按钮来启动搜索:

哪个onClick调用了以下Javascript函数:

在下面的屏幕截图中,当我在其中设置断点时会触发 OnGetAsync 方法,并且可以看到输入值 SearchValue 已填充:

但是我希望浏览器随后会显示Search.cshtml 页面。相反,浏览器只停留在当前的 index.cshtml 页面上。

是我遗漏了什么还是我做错了?

【问题讨论】:

    标签: c# jquery asp.net-core razor razor-pages


    【解决方案1】:

    不过,我希望浏览器随后会显示 Search.cshtml 页面。相反,浏览器只停留在当前的 index.cshtml 页面上。

    那是因为$.get只有在你在success函数中做了某些事情时才会回调结果。

    你需要像下面这样改变jquery:

    @page
    @model IndexModel
    
    <input id="inpSearchMembers" placeholder="Search for a Member..." />
    <input id="btnSearchMembers" type="button" value="Search"  onclick="SearchMembers()" />
    @section Scripts
    {
        <script>
            function SearchMembers() {
                var searchValue = $("#inpSearchMembers").val();
                debugger;
                $.get("/Search", { searchValue: searchValue }, function (data) {
                    window.location.href = "/Search";   //add this...
                });
            }
        </script>
    }
    

    顺便说一句,你创建了一个disabled的按钮,点击它并触发onclick事件是不可能的。

    实际上,我认为您可以在不使用 jquery 的情况下使用表单提交,如下所示更改您的 Index.cshtml:

    @page
    @model IndexModel
    <form asp-page="Search" method="get">
        <input name="searchValue" placeholder="Search for a Member..." />
        <input type="submit" value="Search" />
    </form>
    

    【讨论】:

    • 啊太棒了...!表单提交选项是我想的。昨晚睡着的时候,我突然想到要尝试这些方面的东西,所以谢谢你!顺便说一句 - 我忘了添加控制按钮的禁用属性在输入文本时变为活动状态的 jquery。 :) 再次感谢!
    【解决方案2】:

    在您的页面控制器中,您应该有一个返回视图的操作:

    public IActionResult Search()
    {
        return View();
    }
    

    【讨论】:

    • 感谢您的回复。我在一个 ASP.NET Core Razor Pages 应用程序(不是 MVC)上,我认为您的建议将用于(即返回 View())。尽管如此,我还是尝试了你的建议,但恐怕没有运气。
    猜你喜欢
    • 2021-08-01
    • 2021-06-27
    • 1970-01-01
    • 2018-12-20
    • 2023-02-14
    • 2020-08-22
    • 2018-09-04
    • 2019-05-22
    • 2021-10-27
    相关资源
    最近更新 更多