簡體   English   中英

Asp.Net Core 上的 Razor 頁面 - 添加了 Razor 頁面但無法讓頁面顯示

[英]Razor Pages on Asp.Net Core - Added Razor Page but cant get page to show

我仍然在 Razor Pages for.Net Core 上找到很多東西,並且有點卡住了。 我添加了一個新的 Razor 頁面:

在此處輸入圖像描述

位於Pages文件夾中:

在此處輸入圖像描述

在現有頁面上,我添加了一個輸入和一個按鈕來啟動搜索:

在此處輸入圖像描述

其中onClick調用如下Javascript function:

在此處輸入圖像描述

在下面的屏幕截圖中,當我在其中設置斷點時會觸發 OnGetAsync 方法,並且可以看到輸入值 SearchValue 已填充:

在此處輸入圖像描述

但是,我希望瀏覽器隨后顯示Search.cshtml頁面。 相反,瀏覽器只保留在當前的 index.cshtml 頁面上。

我錯過了什么還是我做錯了?

但是,我希望瀏覽器隨后顯示 Search.cshtml 頁面。 相反,瀏覽器只保留在當前的 index.cshtml 頁面上。

那是因為$.get只有在您成功執行 function 時才會回調結果。

您需要更改 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>

在您的頁面 controller 中,您應該有一個返回視圖的操作:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM