MVC 3区域注册和视图无效

gco*_*828 2 c# controller registration asp.net-mvc-areas asp.net-mvc-3

我似乎遇到了命名空间或注册问题.在这一点上,我更倾向于使用MVC 3.0的区域和注册问题,但我对这里的任何想法持开放态度.

我的CAPAreaRegistration.cs文件看起来像这样:

  namespace CISE.CINet.UserInterface.Areas.CAP
{
    public class CAPAreaRegistration : AreaRegistration
    {
        public override string AreaName
        {
            get
            {
                return "CAP";
            }
        }

        public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRoute(
                "CAP_default",
                "CAP/{controller}/{action}/{id}",
                new { action = "NewNomination", id = UrlParameter.Optional }
            );
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我也尝试添加命名空间我改变了一切:

  public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRoute(
                "CAP_default",
                "CAP/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional }, new string[] { "CISE.CINet.UserInterface.Areas.CAP.Controllers" }  // specify the new namespace 
            );
        }
Run Code Online (Sandbox Code Playgroud)

Global.asax看起来像这样:

    namespace CISE.CINet.UserInterface
{
    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    // visit http://go.microsoft.com/?LinkId=9394801

    public class MvcApplication : System.Web.HttpApplication
    {
        #region PUBLIC FIELDS TO ALL APPLICATIONS

        //public static string SERVER_NAME = "ri-cinet-prd";
        public static string SERVER_NAME = "se-cinet-dev";
        public static string SHAREPOINT_PATH = "http://se-spoint-dev/";

        #endregion

        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            filters.Add(new HandleErrorAttribute());
        }

        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");


            routes.MapRoute(
                "CAPLogin",
                "CAP/WelcomePartial",
                new { controller = "Home", action = "WelcomePartial", id = UrlParameter.Optional }
            );

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

        }

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);
        }
    }
Run Code Online (Sandbox Code Playgroud)

家庭控制器工作,但试图去CAP/NewNomination或CAP /索引不起作用?我收到404错误:

它指向NewNomination,但我尝试索引也无济于事

有任何想法吗?我的网址路径不正确吗?

Ant*_*ttu 14

尝试将区域注册类的命名空间更改为与Global.asax.cs文件中的命名空间相同.

我遇到了同样的问题,这至少为我解决了这个问题.