我是.Net 的新手。我的第一个项目接近尾声,我遇到了一个困扰我的小问题。我正在使用 MVC 3、Razor、C# 和 VisualStudio 2010。
以下是我用于将用户重定向到不同 RDLC 报告的 Razor 代码:
@Html.ActionLink("Length of stay for all data packages - summary", "RptLngthStay", "Reports", new { @class = "link" })<br />
@Html.ActionLink("Packages denied registration by WHS reviewers", "RptPkgsDenied", "Reports", new { @class = "link" })<br />
<...>
它生成以下 HTML:
<a class="link" href="/reg_pkgs/Reports/RptLngthStay?Length=7">Length of stay for all data packages - summary</a><br />
<a class="link" href="/reg_pkgs/Reports/RptPkgsDenied?Length=7">Packages denied registration by WHS reviewers</a><br />
<...>
我的问题是,参数“Length=7”从何而来?没有一个控制器需要参数,更不用说一个名为“长度”的控制器了。它不会影响我的任何代码的运行方式,但在地址栏中看到它让我感到困扰。
以下是我的 Global.asax.cs 文件中的路线:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "PackageTrack", action = "TrackSearch", id = UrlParameter.Optional } // Parameter defaults
);
}
它们只是使用新项目创建的默认路由。
非常感激任何的帮助。