2

我正在使用 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。我会简单地更改名称,但是我被特别要求将其作为一个数字。我知道我可以在 ISS 中设置重定向……但还有其他方法可以做到这一点吗?谢谢!

4

1 回答 1

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操作并呈现视图。ErrorController500.aspx

于 2013-08-21T15:31:13.223 回答