带有 java 脚本的 MVC 中的用户友好 URL

Posted

技术标签:

【中文标题】带有 java 脚本的 MVC 中的用户友好 URL【英文标题】:User friendly URLs in MVC with java-scripting 【发布时间】:2019-12-26 09:45:28 【问题描述】:

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

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

search内部Home控制器的动作方法代码:

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 控制器内部的search 操作方法。不知道我是怎么做到的。

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

【问题讨论】:

【参考方案1】:

尝试使用参数作为

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

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

【讨论】:

但是在哪里?在javascript里面? 干得好,伙计。第二个工作得很好。非常感谢。

以上是关于带有 java 脚本的 MVC 中的用户友好 URL的主要内容,如果未能解决你的问题,请参考以下文章

Mvc:传递 id 但不在友好的 url 中显示

带有 jquery 代码的脚本块应该放在 ASP.NET MVC 母版页的啥位置?

带有 .htaccess 的 timthumb.php 友好 URL

codeigniter 中的友好 url,带有 url 中的变量

如何在 jsf 中创建用户友好和 seo 友好的 url?

注销按钮在 mvc 应用程序中不起作用