如何在ASP.NET Core中默认添加URL参数

时间:2016-08-10 16:31:44

标签: c# asp.net asp.net-mvc asp.net-core-1.0

我正在开展一个项目,我需要从应用启动的URL字符串中访问Windows用户名。我试图让它在应用程序启动后立即将“?windowsusername = name”添加到URL。如果我将其重定向到另一个动作,它会混淆我的路由。有没有办法在发布时添加这个?我从Startup.cs文件传递它,我知道它已经传入,因为我可以使用Razor引用它。但是,它没有添加到URL字符串中。这是我在Startup.cs文件中尝试过的内容:

app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller}/{windowsUsername}",
                    defaults: new { controller = "Home", action = "Index", windowsUsername = "name" });
            });

1 个答案:

答案 0 :(得分:2)

您应该将路线更改为以下路线:

 app.UseMvc(routes =>
 {
     routes.MapRoute(
         name: "default",
         template: "{controller}/{action}/{id?}",
         defaults: new { controller = "Home", action = "Index" });
 }

然后在操作中,您可以从id访问用户名。

public ActionResult YourActionNameGoesHere(string id)
{

}

如果您点击ControllerName/YourActionName/name,则ID的值为name