【发布时间】:2016-11-02 05:23:59
【问题描述】:
在 MVC 应用程序中,我当前的路由配置是:
routes.MapRoute(
"PaymentInformation",
"PaymentInformation.aspx/{resNum}",
new { controller = "Reservation", action = "Edit", resNum = UrlParameter.Optional }
);
当我们点击这个 Url 时,它会调用下面提到的方法:https://www.example.com/PaymentInformation.aspx
HttpGet]
[ValidateRequest(true)]
public ActionResult Edit(string resNum)
{
ReservationPresenter reservationPresenter = new ReservationPresenter();
return View(reservationPresenter);
}
我想要的是,当 Querystring 被传递(在 GET 方法中)时,不应调用上述相同的方法/操作,我只想显示一条消息。
带有查询字符串的 URL 应该是这样的:https://www.example.com/PaymentInformation.aspx?xyz
谁能告诉我什么是路线配置中的 MapRoute。
简而言之,我们想要的是任何通过 GET 方法发送的带有敏感信息的请求都应该被应用程序拒绝。
【问题讨论】:
-
如果你不希望方法被命中,请从路由中删除
{resNum},并制作方法public ActionResult Edit()
标签: asp.net-mvc url.action urlrewriting.net