gpt4 book ai didi

c# - Url.RouteUrl 添加了错误的字符

转载 作者:行者123 更新时间:2023-11-30 13:48:48 25 4
gpt4 key购买 nike

这是我的mvc3应用程序的路由配置

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
// Parameter defaults:
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

如您所见,这是 mvc3 应用程序的默认路由,您会注意到我根本没有更改它。因此,当我尝试像这样使用 url 帮助器 RouteUrl

@Url.RouteUrl("Default", 
new { Action = "RegistrarPago",
IDPago = ViewBag.IDPago,
confirmNumber = ViewBag.ConfirmationNumber },
Request.Url.Scheme)

输出是这样的

http://localhost/DescuentoDemo/pago/RegistrarPago?IDPago=60&confirmNumber=1798330254

This url it's basically for this characters amp; helper 有什么问题我假设这是一个编码问题,但为什么呢?

最佳答案

@ Razor 函数默认进行 HTML 编码。 Url.RouteUrl 助手没有任何问题。这是您在其中使用它的上下文。

就好像您在 Razor View 中编写了以下内容:

@("http://localhost/DescuentoDemo/pago/RegistrarPago?IDPago=60&confirmNumber=1798330254")

您正在 HTML 页面上输出它的结果,因此正确的做法是对它进行 HTML 编码。如果您不想进行 HTML 编码,请使用 Html.Raw 函数:

@Html.Raw(Url.RouteUrl("Default", 
new { Action = "RegistrarPago",
IDPago = ViewBag.IDPago,
confirmNumber = ViewBag.ConfirmationNumber },
Request.Url.Scheme))

如果您想生成一个指向此 url 的 anchor ,您可以在这种情况下直接使用 Html.RouteLink 帮助器。

关于c# - Url.RouteUrl 添加了错误的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11355473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com