MVC 重写 URL
MVC Rewriting URL
我有一个 Ajax 调用,为某些产品编写动态 Url。
$("#Scheda").html( '<a href="/Frutta_e_Verdura/SchedaProdotto?idProdotto=' + result.Idprodotto + '&nome=' + result.Title + '" target = "_blank" >Scopri di più sul prodotto >>></a>' );
结果link是:
Frutta_e_Verdura/SchedaProdotto?idProdotto=83&nome=anacardi
我想使用 routeconfig 将其转换为以下形式:
Frutta_e_Verdura/SchedaProdotto/anacardi
我正在尝试使用此路由配置:
routes.MapRoute(
name: "prodotti",
url: "frutta_e_verdura/schedaprodotto/{nome}/{idprodotto}",
defaults: new { controller = "frutta_e_verdura", action = "Index", nome = UrlParameter.Optional ,idprodotto = UrlParameter.Optional }
);
我该怎么做?
感谢大家的光临
路由用于将传入的 URL 映射到资源,而不是更改浏览器中的 URL。唯一的方法是使用 302 或 301 重定向。
但是,由于重定向 URL 将导致您的服务器向客户端发送响应,指示它向服务器执行 另一个 请求,这是不必要的网络往返。
您最好的选择是从您的 AJAX 调用中正确编写 URL 以匹配您定义的 prodotti
路由以避免这种不必要的重定向。
$("#Scheda").html( '<a href="/Frutta_e_Verdura/SchedaProdotto/' + result.Title + '/' +
result.Idprodotto + '" target = "_blank" >Scopri di più sul prodotto >>></a>' );
我有一个 Ajax 调用,为某些产品编写动态 Url。
$("#Scheda").html( '<a href="/Frutta_e_Verdura/SchedaProdotto?idProdotto=' + result.Idprodotto + '&nome=' + result.Title + '" target = "_blank" >Scopri di più sul prodotto >>></a>' );
结果link是:
Frutta_e_Verdura/SchedaProdotto?idProdotto=83&nome=anacardi
我想使用 routeconfig 将其转换为以下形式:
Frutta_e_Verdura/SchedaProdotto/anacardi
我正在尝试使用此路由配置:
routes.MapRoute(
name: "prodotti",
url: "frutta_e_verdura/schedaprodotto/{nome}/{idprodotto}",
defaults: new { controller = "frutta_e_verdura", action = "Index", nome = UrlParameter.Optional ,idprodotto = UrlParameter.Optional }
);
我该怎么做?
感谢大家的光临
路由用于将传入的 URL 映射到资源,而不是更改浏览器中的 URL。唯一的方法是使用 302 或 301 重定向。
但是,由于重定向 URL 将导致您的服务器向客户端发送响应,指示它向服务器执行 另一个 请求,这是不必要的网络往返。
您最好的选择是从您的 AJAX 调用中正确编写 URL 以匹配您定义的 prodotti
路由以避免这种不必要的重定向。
$("#Scheda").html( '<a href="/Frutta_e_Verdura/SchedaProdotto/' + result.Title + '/' +
result.Idprodotto + '" target = "_blank" >Scopri di più sul prodotto >>></a>' );