2012-06-14 5 views
0

MVC 3을 배우려고하기 때문에 나는 멍청한 행동입니다. 지금은 jQuery와 CSS를 사용하는 HTML 페이지 인 기본 사이트를 만들고 싶습니다. MVC를 사용하는 동안 실제로 애플리케이션에 전달되는 데이터가 없으므로 모델이 필요하지 않습니다. 그러나이 사이트를 게시하려고 할 때 HTTP 403.14 금지 된 오류가 발생하기 때문에 이것이 나에게 문제가됩니다. localhost : 1081 웹 사이트에 도착했을 때 제대로 실행되지 않도록 응용 프로그램이 구성된 방식에 문제가 있다고 생각합니다.MVC3 웹 응용 프로그램 게시 안 함

HomeController.cs

public class HomeController : Controller 
{ 
    // 
    // GET: /Home/ 

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

} 

}

이 단지 Index.cshtml의 뷰를 돌려줍니다 : 여기에 내가 가진 전부입니다.

Index.cshtml : 내 HTML 코드의

@{ViewBag.Title = "My Web Site";} <h2>Web Site Title</h2> 

모든 _Layout.cshtml에 넣었다. jQuery와 CSS가 사용됩니다. 사이트 디버그 옵션을 할 때 잘 작동하지만 공개하려고 할 때 403.14 금지 된 제공합니다. aspnet_regiis -i 인라인 명령을 실행했는데 작동하는 것처럼 보였지만 프로젝트가 실행되지 않았습니다.

Global.asax에 : 나는 인덱스에 _Layout의 코드를 이동하는 경우

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 
     ); 

    } 

, 그것은 작동하지 않습니다. 이 링크를 Index.cshtml에 연결해야하는 방법이 있습니까?

의 Web.config :

<system.webServer> 
<defaultDocument enabled="true"> 
    <files> 
    <add value="_Layout.cshtml" /> 
    </files> 
</defaultDocument> 
<validation validateIntegratedModeConfiguration="false"/> 
<modules runAllManagedModulesForAllRequests="true"/> 

나는 디렉터리 검색을하지 않고, 나뿐만 아니라이 옵션을 재생하려고했다. 활성화하면 내용을 볼 수는 있지만 페이지를 렌더링하지는 않습니다.

그래서 두 가지 질문 : 1. 사이트를 렌더링하려는 데이터를 응용 프로그램에 전달하지 않더라도 모델을 가져야합니까? 2.) 내 사이트가 올바르게 설정되었거나 구조가 올바르지 않습니까?

덕분에, 닉

답변

0

아니, 당신은 모델이 필요하지 않습니다.

먼저 기본 문서를 사용하지 마십시오. MVC는 기본 문서 처리를 무시하고 경로 시스템을 사용합니다.

둘째, 레이아웃 페이지를 문서로 사용하지 않으려 고합니다. 레이아웃은 마스터 페이지와 비슷하며 실제 문서 주위에 래퍼를 만드는 데 사용됩니다.

셋째, "게시하지 않음"이란 게시 메커니즘을 통해 실제로 사이트를 게시하는 데 문제가 있음을 의미합니다. 분명히 그렇게하고 있지만 사이트가 실행되고 있지 않기 때문에 문제는 게시 할 수 없습니다.

네 번째로, 403.14는 디렉토리의 내용을 나열하려고하지만 MVC의 라우팅이 정상적으로 처리되기 때문에 MVC가 올바르게 구성되어 있으면 발생하지 않습니다. 이것은 asp.net 파이프 라인의 어딘가에 문제가 있음을 의미합니다.

게시처는 어디입니까?이 위치에 사이트를 설치하도록 IIS를 구성 했습니까? 다른 포트 번호에서 사이트에 액세스하려고하면 IIS를 설정하지 않고 대신 디버깅에 사용되는 것과 동일한 포트를 사용하려고합니다.

사이트를 게시하려면 해당 위치를 사용하도록 IIS를 구성해야합니다.

관련 문제