javascript - 使用 java 脚本在 MVC 中提供用户友好的 URL

标签 javascript c# jquery asp.net-mvc model-view-controller

Route.config文件中使用以下代码成功地将用户路由到Home Controller 内的search操作方法:

routes.MapRoute(
    name: "search",
    url: "{controller}/{action}/{inpSearch}",
    defaults: new { controller = "Home", action = "search", inpSearch = "" }
    );

Home Controller 内的search操作方法代码:

public ActionResult search(string inpSearch)
{
    var a = (from i in db.Items
             where i.ItemName.Contains(inpSearch) ||
             i.Category.Name.Contains(inpSearch) ||
             i.Brand.Name.Contains(inpSearch)
             select i).ToList();
    return View(a);
}

对于用户友好的 URL,我使用了以下 javaScript:

$('#inpSearch').on('keyup', function(e){
    if (e.keyCode === 13) {
    var baseUrl = '@Url.Action("search", "Home")/'
    var url = baseUrl + $('#inpSearch').val();
        window.location.href = url;                    
    }
})

如您所见,我需要将 inpSearch 字符串作为参数传递给 Home Controller 内的此 search 操作方法。不知道我是怎么做到的。

示例中用户友好的 URL(即/Home/search/car)运行良好。

最佳答案

尝试使用参数为

@Url.Action("ActionName", "ControllerName", new { paramName1 = paramValue1 })

window.location.href ="/Home/search?inpSearch="+$('#inpSearch').val()

关于javascript - 使用 java 脚本在 MVC 中提供用户友好的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57586102/

相关文章:

javascript - 回调 hell ,厄运金字塔,node.js

javascript - 捕获每 3 行,但如果它有 child 和分配的类(class)?

c# - 我应该如何用科学记数法(+301)解析一个非常大的数字?

c# - 根据数据更改gridview中行的颜色

c# - 使用异步任务<ActionResult>对 ASP.NET MVC 5 Controller 进行单元测试

PHP 从 AJAX 图像 uploader 获取隐藏变量

javascript - jquery smartbanner 没有苹果 smartbanner

javascript - 将大文件从nodejs上传到另一台服务器

javascript - 如何为此设置超时?

javascript - jQuery Grails 插件