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 函数:
在下面的屏幕截图中,当我放置断点时命中 OnGetAsync 方法,并且可以看到填充了输入值 SearchValue:
但是我希望浏览器随后显示 Search.cshtml
页面。相反,浏览器只停留在当前 index.cshtml 页面上。
我是不是遗漏了什么,或者只是做错了?
在您的页面控制器中,您应该有一个操作,其中 returns 视图:
public IActionResult Search()
{
return View();
}
However I would expect the browser to then display the Search.cshtml page. Instead the browser just remains on the current index.cshtml page.
那是因为$.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>
我仍然在 Razor Pages for .Net Core 上想了很多,但有点卡住了。我添加了一个新的 Razor 页面:
位于 Pages
文件夹中:
在现有页面上,我添加了输入和启动搜索的按钮:
哪个 onClick 调用以下 Javascript 函数:
在下面的屏幕截图中,当我放置断点时命中 OnGetAsync 方法,并且可以看到填充了输入值 SearchValue:
但是我希望浏览器随后显示 Search.cshtml
页面。相反,浏览器只停留在当前 index.cshtml 页面上。
我是不是遗漏了什么,或者只是做错了?
在您的页面控制器中,您应该有一个操作,其中 returns 视图:
public IActionResult Search()
{
return View();
}
However I would expect the browser to then display the Search.cshtml page. Instead the browser just remains on the current index.cshtml page.
那是因为$.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>