質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

Q&A

解決済

1回答

2472閲覧

Route設定でエラーが取れない

LaboHiroShin

総合スコア13

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

0グッド

0クリップ

投稿2018/12/25 21:26

編集2018/12/25 22:19

前提・実現したいこと

プロジェクト実行時、最初に開かれるページをHome→MTauTaus(Viewsフォルダ直下の名前)に変更したい。

自分なりに色々試したのですがどうしてもよくわからず・・・。どうかご教示お願い致します。

発生している問題・エラーメッセージ

'/' アプリケーションでサーバー エラーが発生しました。 !FGs0q!The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched: ~/Views/MTauTaus/Index.aspx ~/Views/MTauTaus/Index.ascx ~/Views/Shared/Index.aspx ~/Views/Shared/Index.ascx ~/Views/MTauTaus/Index.cshtml ~/Views/MTauTaus/Index.vbhtml ~/Views/Shared/Index.cshtml ~/Views/Shared/Index.vbhtml 表©鷗字㌍ 表©鷗字㌍ 表©鷗! 説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。 例外の詳細: System.InvalidOperationException: !FGs0q!The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched: ~/Views/MTauTaus/Index.aspx ~/Views/MTauTaus/Index.ascx ~/Views/Shared/Index.aspx ~/Views/Shared/Index.ascx ~/Views/MTauTaus/Index.cshtml ~/Views/MTauTaus/Index.vbhtml ~/Views/Shared/Index.cshtml ~/Views/Shared/Index.vbhtml 表©鷗字㌍ 表©鷗字㌍ 表©鷗! ソース エラー: 現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。

該当のソースコード

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

試したこと

・ブレークを張ってroutesを見たところcount = "2" となりステップオーバーとなっていました。しかし別のプロジェクトで確認しても同様にステップオーバーしており、そちらではそのままページが表示されています。おっかけ方がわからずどこでステップオーバーしてるかがわかりませんでした・・・。

・プロジェクトプロパティの設定
イメージ説明
ファイルプロパティの「スタートページに設定」はすべて外れているのを確認しました。
同様にビルドアクションは全て「コンテンツ」となっているのも確認しました。

・プロジェクトをビルドして最初に繋がれるURLが「 http://localhost:52235/MTauTaus/Index 」となっていたので
http://localhost:52235/**Views**/MTauTaus/Index 」と追記してみたところ、

'/' アプリケーションでサーバー エラーが発生しました。 リソースが見つかりませんでした。 説明: HTTP 404. 探しているリソース (または、その依存関係の 1 つ) が削除されたか、名前が変更されたか、また一時的に使用できません。以下の URL のスペルが正しいことを確認してください。 要求された URL: /Views/MTauTaus/Index

このエラーに変わりました。

・Homeに戻してプロジェクトをビルドしても同じエラーが出るようになり、現在どのページも開けない状態です。

補足情報(FW/ツールのバージョンなど)

Visual Studio2017 Community

2018/12/26 SurferOnWww 様
肝心なもの貼り忘れてました、すいません。こちらで大丈夫でしょうか?
![イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/12/25 22:00

当該コントローラーとビューはどこにあるのですか? それを示すソリューションエクスプローラの画像を貼れませんか?
退会済みユーザー

退会済みユーザー

2018/12/25 22:45

画像を拝見しました。エラーメッセージは無いと言ってますが、ちゃんと index.cshtml は存在しているようですね。後で自分の環境で実際に検証してみます(今はその環境がないので)。
LaboHiroShin

2018/12/25 22:51

お手数おかけしますがよろしくお願いします。 僕はもう一つプロジェクトを作って同じ環境を作ろうと思います。それで正常に表示されるようならwinmerge等で原因を探してみます。
退会済みユーザー

退会済みユーザー

2018/12/25 23:21

エラーメッセージが文字化けしてますね。日本語のサテライトアセンブリに不具合があってそのような形の文字化けが発生するという事例の報告があります。文字化けの問題だけでルーティングには影響無いのかもしれませんが、別プロジェクトを作る際は最新版を試すなどしてみるといいかもしれません。
guest

回答1

0

ベストアンサー

確認ですが、

プロジェクト実行時、最初に開かれるページをHome→MTauTaus(Viewsフォルダ直下の名前)に変更したい。

と書いてありますが、RegisterRoutes のコードを見るとそうではなくて、http://localhost:xxxxxx/ という URL でブラウザから要求を受けたら、http://localhost:xxxxxx/MTauTaus/Index にルーティングされるようにしたいという話ですよね。

その理解で、Visual Studio Community 2015 でですが、質問者さんの構成と同じフォルダ構成で、

イメージ説明

同じ動作開始オプション設定で、

イメージ説明

試してみましたが、問題は一切発生せず、期待通りの結果になりました。

イメージ説明

質問者さんの環境固有の問題がありそうな気がします。とするとこちらでは何が問題か分かりません。上のコメントで書きましたアセンブリの問題とか?

一応、ご参考に、試したコードもアップしておきます。

コントローラー (Controllers/MTauTausController.cs)

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace Mvc5App.Controllers { public class MTauTausController : Controller { // GET: MTauTaus public ActionResult Index() { return View(); } } }

ビュー (Views/MTauTas/Index.cshtml)

@{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2>MTauTaus Index</h2>

RouteConfig.cs

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace Mvc5App { 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 = "Home", action = "Index", id = UrlParameter.Optional } defaults: new { controller = "MTauTaus", action = "Index", id = UrlParameter.Optional } ); } } }

投稿2018/12/26 01:32

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LaboHiroShin

2018/12/26 14:02

すいません仕事でだいぶ遅くなってしまいました。 もう一つのプロジェクトにて動作確認をしたところ、特に問題なくページを表示することができました。 色々差を見てみたんですが正直自分の変更箇所では特にルーティングに関わりそうなものを発見できず、真実は闇の中となってしまいました・・・。 朝早くから協力していただきありがとうございました、次はgitを使うなどしてもう少し細かい要因や予測をあげられるよう工夫します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問