MVC 2.0以数字开头的视图

时间:2013-08-21 15:16:56

标签: c# asp.net-mvc asp.net-mvc-2 asp.net-mvc-routing naming-conventions

我正在使用c#,visual studio 2010.我是MVC的新手 我提供了一个简单的HTML页面,我转换为aspx视图。然后我添加了控制器。 视图目录是Views / 150 / Index.aspx。问题是当我去添加控制器时,类名不允许是数字。

namespace MyPages.Controllers
{
    public class _50Controller : Controller
    {

        public ViewResult Index()
        {
            return View("Index");
        }

    }
}

当我输入控制器号码时,它会自动将其从150改为_50。所以我将其更改为150Controller.cs并将类名更改为150Controller:Controller。 不幸的是,您不能将数字作为类名,并且_50Controller作为类名尝试指向Views / _50 / Index.aspx。 我只想更改名称,但我特别要求将其作为数字。我知道我可以在国际空间站设置重定向......但还有另一种方法吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

在C#中,成员不能以数字开头。您可以使用路由来实现:

例如,您可以拥有以下控制器:

public class ErrorController : Controller
{
    public ActionResult Index()
    {
        return View("500");
    }
}

可以像这样路由:

routes.MapRoute(
    name: "Error",
    url: "500",
    defaults: new { controller = "Error", action = "Index" }
);

现在,当您导航到http://example.com/500时,Index的{​​{1}}操作将被执行,并将呈现ErrorController视图。