2011-08-30 7 views
0

컨텍스트 : 현재 첫 번째 MVC 응용 프로그램을 개발 중입니다. Steven Sanderson이 "Pro ASP.NET MVC Framework 2"라는 책을 예로 들고 있습니다. 나는 첫 장을 따라 나는 다음 링크에 위치 할 수있다 "SportStore"전체 코드와 유사한 응용 프로그램을 구현 한 http://pastie.org/2451370ASP.NET MVC의 라우팅 혼동

응용 프로그램은 두 개의 컨트롤러

1 .- NavController 사용자를 구현하기 위해 디자인했다 사용자 정의 컨트롤 "Menu.ascx"을 사용하여 메뉴

디버그 모드 NavController에서 응용 프로그램을 실행할 때 문제가 발생

링크가 w하지을 생성 특정 메뉴 옵션에 속하는 포스트를 나열하도록 설계 2 .- PostEntryController ork 어떤 이유로 PostEntryController가 인스턴스화되지 않습니다.

나는 소스 코드 생성 영문 파일 (PostEntry/Index.aspx)로 표시됩니다 검사

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<link href="/MarsWeb/Content/Site.css" rel="stylesheet" type="text/css" /> 
<link href="/MarsWeb/Content/jquery.treeview.css" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="/MarsWeb/Scripts/jquery-1.4.1.js"></script> 
<script type="text/javascript" src="/MarsWeb/Scripts/jquery.treeview.js"></script> 
<script type="text/javascript" src="/MarsWeb/Scripts/jquery-treeview-1.4.0.min 
</script> 
<script type="text/javascript"> 
$(function() { 
$("#browser").treeview({collapsed: true,animated: "medium",control: "#categories", 
      unique: true,persist: "location"});}) 
</script>  
<title>Posts</title></head> 
<body> 
<div id="header"> 
<div id="title"> 
<h1>Mars Ventas</h1> 
</div>       
</div> 
<div id="categories">   
<ul id="browser" class="filetree"> 
<li><span class="folder"><a href="/PostEntry/Index/0/1">Home</a></span></li> 
<li><span class="folder"><a href="/PostEntry/Index/2/1">Ventas</a></span></li> 
<li><span class="folder"><a href="/PostEntry/Index/3/1">Avance de Ventas</a></span></li> 
<li><span class="folder"><a href="/PostEntry/Index/4/1">Browser</a></span></li> 
</ul> 
</div> 
</html> 

이 사람이 나를 도울 수 있습니까? 나는 당신의 설명에 따르면, URL

+0

좀 더 많은 도움을 받으려면 이전 질문에 대한 답변을 표시해야합니다. 그 동안 Global.asax에서 노선을 게시 할 수 있습니까? –

+0

링크는 괜찮아 보입니다. 문제는 다른 곳에 있어야합니다. 컨트롤러 코드를 추가 할 수 있습니까? –

+0

전체 코드는 http://pastie.org/2451370에 있습니다. – Guillermo

답변

1

내 Site.Master를 수정하고 JavaScript를 비활성화하면 링크가 정상적으로 작동합니다. 이 문제를 해결하기 위해 현재 다음 링크를 읽고 있습니다. ASP.NET MVC Relative Paths

1

에 액세스 할 수있는 주소 표시 줄에 URL을 쓸 때

은 Global.asax에

routes.MapRoute("PostEntry", "PostEntry/{action}/{MenuItemId}/{page}", // Matches ~/MenuId 
      new { controller = "PostEntry", action = "Index", MenuItemId = (string)null }, 
      new { page = @"\d+" } 
     ); 

     routes.MapRoute("MenuItem", "PostEntry/{action}/{MenuItemId}", // Matches ~/MenuId 
      new { controller = "PostEntry", action = "Index", MenuItemId = (string)null, page = 1 } 
     ); 

     routes.MapRoute(null, "", // Only matches the empty URL (i.e. ~/) 
      new { controller = "PostEntry", action = "Index", MenuItemId ="0", page = 1} 
     ); 

, 내가 링크 생성이 잘못 생각합니다. 그래서 브라우저에서 html 소스를보고 링크가 올바르게 생성되었는지 확인하십시오.