2016-08-10 13 views
1

私は、アプリケーションの起動時にURL文字列からWindowsユーザー名にアクセスする必要があるプロジェクトに取り組んでいます。私はそれがアプリケーションを起動するとすぐにURLに "?windowsusername = name"を追加しようとしています。別のアクションにリダイレクトすると、ルーティングが失われます。これを発売時に追加する方法はありますか?私はStartup.csファイルから渡しています。私はそれがRazorを使って参照できるので、渡されていることを知っています。ただし、URL文字列には追加されていません。ここでは、私は私のStartup.csファイルで試してみたものです:ASP.NETコアに既定でURLパラメータを追加する方法

app.UseStaticFiles(); 

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

答えて

1

あなたは、次のいずれかにあなたのルートを変更する必要があります。

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

その後のアクションにあなたがidからユーザ名にアクセスすることができます。

public ActionResult YourActionNameGoesHere(string id) 
{ 

} 

あなたはidがnameの価値を持っているでしょう、その後ControllerName/YourActionName/nameをヒットした場合。

+0

これで、wwwroot/scriptsフォルダにあるスクリプトの読み込みで404エラーが発生しました。 wwwrootフォルダの内部に入るためにどのようなパスをターゲットにしますか? – James

+0

Mvcルートは静的ファイルとは何の関係もありません。 –

関連する問題