0

私はプロジェクトを作成し、その中で一生懸命働き、多くのモデル、ビュー、およびコントローラーを作成しました。すべてうまくいきました。私は自分のモデルの 1 つの名前を変更し、それに応じてコントローラーとビューの名前を変更し、それが引き続きうまく機能すると考えました。これは、後でもっと適切なものに元の名前を使用したかったためです。例えば。

古い名前:
MyOldModel
MyOldController
MyOldView

名前が変更されました:
MyNewModel
MyNewController
MyNewView

新しいビューへのリンクをクリックすると、プログラムが探して、明らかに存在しない MyOldView を表示しようとすることを除いて、すべてがまだうまく機能しています。ただし、/MyNewView を手動で入力すると機能します。

MyOldView フォルダーでインデックスを検索する代わりに、MyNewView フォルダーでインデックスを検索するようにコントローラーを変更するにはどうすればよいですか。

コントローラーを削除して再作成しようとしても無駄でした。

助けてくれてありがとう。

編集: 親切にもすぐに返信してくれた人への注意事項: 正確な手順は次のとおり
です。 1. モデル ファイルの名前を MyOldModel.cs から MyNewModel.cs に変更します
。 2. コントローラー ファイルの名前を MyOldController.cs から MyNewController に変更します。 cs
3. ビュー (Index.cshtml のみを含む) の FOLDER の
名前を MyOldView から MyNewView
に変更しました。したがって、クラス名はすべて正しく更新されました。少なくとも私が見る限り、他のすべての参考文献もそうでした。

ここで言われていることによると、それは機能しているはずです。

単に名前を変更しました

4

4 に答える 4

1

op の要求に応じて、回答としての私のコメント:

ボタンのクリックからも_Layoutが正しいビューを指していることを確認してください。そうしないと、古いコントローラー/ビューを新しいコントローラー/ビューに置き換え/名前変更したときに、古いコントローラー/ビューを引き続き検索します。

于 2012-06-11T15:09:41.033 に答える
0

ルート リストに必要な変更を加えましたか (Global.asax ファイル i Application_Start() イベントに登録):

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

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

        }
于 2012-06-11T14:50:37.607 に答える