Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在用户登录asp.net mvc路由后在url中显示用户名_Asp.net Mvc_Asp.net Mvc 3_Actionfilterattribute - Fatal编程技术网

Asp.net mvc 在用户登录asp.net mvc路由后在url中显示用户名

Asp.net mvc 在用户登录asp.net mvc路由后在url中显示用户名,asp.net-mvc,asp.net-mvc-3,actionfilterattribute,Asp.net Mvc,Asp.net Mvc 3,Actionfilterattribute,一旦用户登录并转到主页,默认情况下应添加用户名。登录后,即使用户尝试转到mysite.com,也应重定向到mysite.com/username 例: mysite.com/home->mysite.com/username/home 所以我的问题是,一旦用户登录所有页面,url中的用户名应该是默认的。即使用户进入主页,也应扣除已登录的用户并重定向到主页/用户名。您的MVC应用程序中有如下默认路由: routes.MapRoute( name: "Default"

一旦用户登录并转到主页,默认情况下应添加用户名。登录后,即使用户尝试转到mysite.com,也应重定向到mysite.com/username

例:

mysite.com/home->mysite.com/username/home


所以我的问题是,一旦用户登录所有页面,url中的用户名应该是默认的。即使用户进入主页,也应扣除已登录的用户并重定向到主页/用户名。

您的MVC应用程序中有如下默认路由:

routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", userName = UrlParameter.Optional }
            );
您的默认操作将是:

public ActionResult Index(string username)...
在此操作中,您将检查用户名是否存在。如果存在,则重定向到mysite.com/username/home;如果不存在,则重定向到登录后的主页:

public ActionResult Index(string userName)
        {
            if(string.IsNullOrEmpty(userName))
            {
                return View("Login");
            }

            return Redirect("siteUrlHere" + userName + "/home");
        }

那么问题是什么,你试图解决什么?