MVC Rewriting URL
本文关键字:URL Rewriting MVC | 更新日期: 2023-09-27 18:27:38
我有一个Ajax调用,它为某些产品编写动态Url。
$("#Scheda").html( '<a href="/Frutta_e_Verdura/SchedaProdotto?idProdotto=' + result.Idprodotto + '&nome=' + result.Title + '" target = "_blank" >Scopri di più sul prodotto >>></a>' );
结果链接为:
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>' );