2016-03-22 5 views
1

.cshtmlファイルをどのように正確にレンダリングしますか?MVC .cshtmlファイルをhtmlとして表示するには?

私はasp.netを初めて使用しています。 Visual Studioのテンプレートを使用してMVCプロジェクトを作成しました。どうやら、すべてのテンプレートはDefault/Indexファイル用に.cshtmlを持っています。しかし私のサーバーは、私がそれを見ようとすると私にこのエラーを与える:

'/'アプリケーションのサーバーエラー。

このタイプのページは配信されません。

説明:要求したページの種類は、明示的に禁止されているため配信されません。拡張子 '.cshtml'が正しくない可能性があります。以下のURLを確認し、正しく入力されていることを確認してください。

要求されたURL:/mobile/WebApplication1/Index.cshtml

だから、どのように正確に私は、インデックスファイルを表示していますか?それを何かに渡して.htmlに変換するか、何とかレンダリングする必要がありますか?ちょっと立ち上がって走っていても大丈夫です。ありがとう。

+0

URLは '/ mobile/WebApplication1/Index'だけです。 –

+0

私はそれを試しました。これだけでこのエラーが発生します: 探しているリソースが削除されたか、名前が変更されたか、一時的に利用できません。 – testing123

+0

.cshtrmlファイルはviewsフォルダにありますか? –

答えて

3

拡張子が.cshtmlのファイルは、ASP.NET MVCのコンテキストで表示されます。それらは単独で見ることはできません(ウェブサーバによって提供される)。ビューをレンダリングするコントローラアクションが必要です。

注:IIS設定とアプリケーションを変更して.cshtmlファイルをブラウザ要求に配信できるようにするには、いくつかの "トリック"を使用できますが、これは正常な動作ではありません。あなたのビューがここに~/Views/Index.cshtmlに位置していますと仮定

は、シンプルなコントローラのアクションの(些細な)例です。

public class ExampleController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 
} 

このコントローラは、に配置する必要があります:あなたはでレンダリングされたページにアクセスする~/Controllers/ExampleController.cs

:ここでのASP.NET MVCについて

localhost/example/indexより:http://www.asp.net/mvc/overview/getting-started/introduction/getting-started

+0

ビューをレンダリングするコントローラーアクションの実際の例を教えていただけますか? – testing123

1

名前で直接MVCビューにアクセスすることはできません。これまで...!

コントローラアクションを呼び出すことは、/WebApplication1/IndexなどのURLで行われます。

上記URLには2つのことを意味します

  • あり、WebApplication1Controller.csというクラスにする必要があり
  • と、そのクラスはメソッドpublic ActionResult Index()を持っている必要があります。

メソッドIndexは、表示するビュー(存在する場合)と、そのビューに送信するデータを決定します。

Indexを実行すると、同じ名前(この場合はIndex.cshtml)のビューが表示されるという暗黙のルールがあります。
または何らかの理由でIndexreturn View("Wow");を実行すると、Wow.cshtmlという名前のビューが表示されます。

関連する問題