私は MVC 3 を学ぼうとしているので初心者です。とりあえず、jQuery と CSS を使用した HTML ページである基本的なサイトを作成したいと思います。私は MVC を使用していますが、実際にはアプリケーションに渡されるデータがないため、モデルは必要ありません。ただし、このサイトを公開しようとすると HTTP 403.14 Forbidden エラーが発生するため、これが問題を引き起こしています。アプリケーションの構造に問題があり、localhost:1081 Web サイトにアクセスしたときに適切に実行できないと思います。これが私が持っているすべてです:
HomeController.cs
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
}
}
これは、Index.cshtml のビューを返すだけです。
インデックス.cshtml:
@{ViewBag.Title = "My Web Site";} <h2>Web Site Title</h2>
私の HTML コードはすべて _Layout.cshtml に入れられました。jQuery と CSS が使用されます。デバッグ オプションを実行するとサイトは正常に動作しますが、公開しようとすると 403.14 禁止されます。インライン コマンド aspnet_regiis -i を実行しましたが、動作しているように見えましたが、プロジェクトを実行できませんでした。
Global.asax:
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
);
}
_Layout のコードを Index に移動すると、機能しません。これを Index.cshtml にリンクする方法はありますか?
Web.config:
<system.webServer>
<defaultDocument enabled="true">
<files>
<add value="_Layout.cshtml" />
</files>
</defaultDocument>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>
ディレクトリのブラウジングはしたくないので、このオプションも試してみました。有効にすると、コンテンツを表示できますが、ページはレンダリングされません。
2 つの質問: 1.) サイトをレンダリングしようとしているだけで、アプリケーションにデータを渡していなくても、モデルが必要ですか? 2.) 私のサイトは適切に設定/構造化されていますか、それともここで何が間違っていますか?
ありがとう、ニック