将参数发送到Home Controller Index动作?

时间:2012-04-24 10:23:21

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing

我的要求是什么; 如果我输入www.mysite.com - 它将加载首页。 但如果我输入www.mysite.com/john - 它将返回john的个人资料页面。

John的个人资料最初位于/ Profile / John,这很好用。但要求是www.mysite.dom / John。

我正在尝试很多方法但没有成功。如果有人能帮助我,那会很好。 欢呼声

2 个答案:

答案 0 :(得分:1)

定义两条路线。

首先到"/Profile/{name}",然后到"/{name}",指向相同的操作。

答案 1 :(得分:0)

如果您想使用相同的控制器并设置路线以响应参数,您也可以像这样设置您的路线

routes.MapRoute(
                name: "Meeting",
                url: "{name}",
                defaults: new
                {
                    controller = "Home",
                    action = "Welcome"
                }
            );
routes.MapRoute(
                name: "Default",
                url:"",
                defaults: new
                {
                    controller = "Home",
                    action = "Index"
                }
            );

我的HomeController看起来像

        public void Welcome(string name)
        {
            ViewBag.Title = "Home Page";
        }

        public ActionResult Index()
        {
            return View();
        }