gpt4 book ai didi

c# - asp.net mvc 5 GET 上的路由问题

转载 作者:太空宇宙 更新时间:2023-11-03 13:28:10 24 4
gpt4 key购买 nike

我试图让我的产品搜索 URL 看起来像“Products/Search/{search term here}”。

我正在使用基于属性的路由,我的 Controller 操作如下所示:

[HttpGet]
[Route("Products/Search/{searchTerm?}", Name="ProductSearch")]
public ActionResult Search(string searchTerm = "")
{
return View();
}

我曾尝试使用 HTML Helper 来处理 BeginForm 和 BeginRouteForm(如下所示),但都没有成功。正在调用正确的操作,但我的 URL 看起来像“Products/Search?searchTerm”

BeginRouteForm

    @using (Html.BeginRouteForm("ProductSearch", new { searchTerm = "" }, FormMethod.Get, new { Class = "navbar-form navbar-right", role = "search" }))
{
<div class="form-group">
@Html.TextBox("searchTerm", null, new { Class = "form-control", placeholder = "Item # or Name" })
</div>
<button type="submit" class="btn btn-default">Search</button>
}

开始表单

        @using (Html.BeginForm("Search", "Products", new { searchTerm = "" }, FormMethod.Get, new { Class = "navbar-form navbar-right", role = "search" }))
{
<div class="form-group">
@Html.TextBox("searchTerm", null, new { Class = "form-control", placeholder = "Item # or Name" })
</div>
<button type="submit" class="btn btn-default">Search</button>
}

我已经调试并选择了正确的路由,只是 URL 没有显示我想要的样子。我错过了什么?

最佳答案

这是我建议的解决方案 -

您有以下 Controller 操作 -

    [HttpGet]
public ActionResult Search(string searchTerm = "")
{
return View();
}

让 View 成为-

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>

$(function () {
$('#click').click(function (e) {

var name = $("#search").val();
var url = '@Url.Action("Search", "Action")' + '/' + name;
window.location.href = url;

});
});

</script>

<input type="text" name="searchText" id="search"/>
<input type="button" value="click" id="click"/>

当你点击按钮时 -

enter image description here

不要忘记将正确的路由添加到路由配置中 -

routes.MapRoute(
name: "searchaction",
url: "{controller}/{action}/{searchTerm}",
defaults: new { controller = "Action", action = "Search" }
);

关于c# - asp.net mvc 5 GET 上的路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21580716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com