[英]Customizing Routes in ASP.NET MVC4
執行時搜索控制器-索引
public ActionResult Index(string parm1, string parm2)
當前網址顯示/Search/Index?parm1=aa&parm2=bb
我想顯示/ Search / aa / bb
我將mapRoute更改為:
routes.MapRoute(
name: "SearchList",
url: "Search/{action}/{parm1}/{parm2}",
defaults: new
{
Controller = "Search",
action = "Index",
parm1= UrlParameter.Optional,
parm2= UrlParameter.Optional
});
我想念什么?
嘗試這個:
routes.MapRoute(
name: "SearchList",
url: "Search/{parm1}/{parm2}",
defaults: new
{
Controller = "Search",
action = "Index",
parm1 = UrlParameter.Optional,
parm2 = UrlParameter.Optional
});
這只是使用搜索字詞更改網址的簡單方法。 這不是開箱即用的,並且對路由表沒有任何確切的綁定,如果您更改了路由,則必須在javascript中手動對其進行修復。 另外,生成網址時,您可能需要做一些空/空檢查。
$("input.search_term").change(function (e){ //Get search terms and build new url var parm1 = $("input.search_term[name='parm1']").val(); var parm2 = $("input.search_term[name='parm2']").val(); var newUrl = "/search/"+ parm1 + "/" + parm2; //Change the link url, can do same thing on a form action url as well $("a.search_link").attr("href",newUrl); //For showing the text below, not necessary $("b.t_link").html(newUrl); });
<input type="text" class="search_term" name="parm1" value="aa" /> <input type="text" class="search_term" name="parm2" value="bb" /> <a class="search_link" href="/search/aa/bb">Search</a> <!--not necessary--> <br /> <span>URL of the link will be: <b class="t_link"></b></span> <!--I assume you use jquery, let me know if you don't--> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.