You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Razor Pages路由调整:将URL改为/Home/Search?input格式

解决方案

要把URL格式从Home/Search/Input改为Home/Search?search=Input,只需修改以下几个部分:

1. 修改搜索页的路由定义

打开Search.cshtml,移除路由参数声明,恢复基础路由:

@page
@model SearchModel
@using DB
@{ 
   ViewData["Title"] = "Test";
 }
 <table class="table">
    @foreach (var customer in Model.Input)
    {
        <tr>
            <td>@customer.Search</td>
        </tr>
    }
 </table>

原代码中的@page "{search}"会把search解析为URL路径的一部分,移除后页面将默认通过查询参数接收值。

2. 优化表单提交方式(推荐)

直接将首页表单改为GET请求,省去后台跳转步骤,提交时自动生成查询参数格式的URL:

<form method="get" asp-page="Search" id="form">
    <div class="d-flex text-center" id="search">
        <div class="container">
            <div class="card">
                <div class="card-body p-4">
                    <div class="row">
                        <div class="col-12">
                            <div class="input-group">
                                <div class="form-outline flex-fill">
                                    <input type="search" id="search" class="form-control form-control-lg" name="search"/>
                                    <label class="form-label" style="font-size: 14px;vertical-align: middle" for="search">Enter Input...</label>
                                </div>
                                <button class="btn btn-success" id="submit"><i class="fas fa-search"></i></button>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</form>

这里把method="post"改为method="get",并通过asp-page="Search"直接指定跳转目标,提交后会直接生成Home/Search?search=用户输入内容的URL。

3. (可选)保留POST跳转的调整方案

如果坚持使用POST提交,修改Home.cshtml.cs的跳转逻辑即可,由于已修改搜索页路由,参数会自动转为查询参数:

public IActionResult OnPost()
{
    var search = Request.Form["search"];
    return RedirectToPage("Search", new { search = search });
}

验证接收逻辑

Search.cshtml.cs的OnGet方法无需修改,它已经能正确接收查询参数search:

public void OnGet(string search)
{
    this.Input = _context.database.Where(x => x.Search == search).ToList();
}

内容的提问来源于stack exchange,提问作者Kazq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 05:18:25