-1

デフォルトのプリセット プロジェクトを使用して、独自のアプリケーションを構築しています。
独自のコントローラーMyControllerと新しいビュー ディレクトリMyを追加しましたindex.cshtml

これはコントローラーコードです:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace WebProject1.Controllers
{
    public class MyController: Controller
    {
        //
        // GET: /My/

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

    }
}

これが私のものRouteConfig.csです:

// ...
public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "My", action = "Index", id = UrlParameter.Optional }
        );
    }
}
// ...

ただし、デバッグを開始し/My/て 404 エラーに移動すると、次の行に沿ったメッセージThe resource or one of its dependencies cannot be found.が表示されます。

コントローラーを機能させるにはどうすればよいですか?

4

3 に答える 3

0

localhost/My/Indexエリアが構成されていない限り、アクションにアクセスできるかlocalhost/My、アクションがインデックスとしてデフォルトルートにある場合にアクセスできるはず です。

このエラーは、ビューを見つけるために ASP.NET が検索している領域のリストも示します。

于 2013-10-11T10:12:39.270 に答える
0

ほぼ間違いなくどこかのタイプミスです。コントローラーとビューを最初から再作成することをお勧めします。

于 2013-10-11T10:13:37.690 に答える
0

カスタム ルートを作成し、デフォルト ルートの前に配置します。

このような:

    // ...
public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
     routes.MapRoute(
           name: "me",
           url: "me/{id}",
           defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
       );
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "My", action = "Index", id = UrlParameter.Optional }
        );
    }
}
// ...

これがうまくいくことを願っています...

于 2013-10-11T10:26:55.940 に答える