2010-07-05 5 views
0

저는 로프를 실제로 배우기 위해 MVC2 응용 프로그램을 작성했습니다. 한 가지 기본 설정에 대해 마음에 들지 않았던 점은 뷰, 모델 및 컨트롤러가 단일 어셈블리에 함께 있다는 것입니다. 이를 극복하기가 어려웠고 두 프로젝트를 다른 프로젝트로 옮기고 각 폴더 내용을 마이그레이션했습니다.MVC2 LogOnModel을 찾을 수 없습니다.

그러나 이제는 사용자 역할로 시작하기 시작했습니다. 나는 이렇게 컨트롤러 액션을 장식한다.

[Authorize(Roles = "Admin"), AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult EditProject(Guid Id, FormCollection formValues){} 

내 솔루션 설정 방법은 다음과 같습니다.

  • MySolution.Web.Views < - 모든 영문/ ASCX 물건
  • MySolution.Controllers <-

가 나는 또한 기본을 가지고있는 MVC2 응용 프로그램과 함께 을 오는 기본 AccountController을 포함한 모든 컨트롤러, LogOnModel 클래스가있는 MySolution.Controllers.AccountModels 네임 스페이스 내의 'AccountModel' 이제 프로그램을 실행하고 컨트롤러에 특정 역할 (어떤 동작이 아닌)이 필요한 동작을 실행하도록 요청하면 다음과 같은 오류가 발생합니다.

"컴파일러 오류 메시지 : CS0234 : 형식 또는 네임 스페이스 이름 '모델'네임 스페이스 'MySolution.Web'에 존재하지 않는이 (당신은 어셈블리 참조가?)"

를 또한 다음 줄을 강조 소스 오류로;

"공용 클래스 views_account_logon_aspx : System.Web.Mvc.ViewPage, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler"

과 라인과 에러 등의 파일을 코멘트;

그래서 "소스 파일 : C : 임시 ASP.NET 파일 \ 루트 \ d1b48054 \ 1ce7c091 \ App_Web_logon.aspx.5f83eb8c.mdfplvvy.0.cs \ \ 사용자 \\의 AppData \ 로컬 \ 온도" 해당 파일을 탐색하고 LogOnModel의 올바른 네임 스페이스를 수동으로 입력 해 보았습니다.하지만 프로젝트를 실행할 때마다 LogOnModel의 잘못된 위치가 재현되어이 파일의 새 버전이 만들어집니다. 그래서 분명히 더 이상 존재하지 않는 AccountModel의 원래 위치를 찾고있는 응용 프로그램 내에 뭔가가 있습니다.

내 web.config 파일을보고 MySolution.Web 네임 스페이스의 LogOnModel을 참조하는 것으로 보이는 곳을 찾을 수 없습니다.

누구나 LogOnModel이 현재있는 응용 프로그램에 어떻게 알릴 수 있습니까?

실제 응용 프로그램은 AccountController의 로그온 작업에서 실패 :

public ActionResult LogOn() 
{ 
    return View(); // Failing here 
} 

을 그래서 어쩌면 라우팅 할 수있는 뭔가가 있어요? Global.asax 파일의 기본 설정을 변경하지 않았습니다.

답변

2

web.config namespace 섹션에서 MySolution.Controllers.AccountModels을 참조한 적이 있습니까?또는 aspx에 Import 지시문을 사용하거나 페이지 지시문에 전체 이름을 입력하십시오. ViewPage<MySolution.Controllers.AccountModels.LogOnModel>

+0

"페이지 지시문에서 전체 이름을 지정하십시오. ViewSupport.AccountModels.LogOnModel"<-이 문제는 해결 될 것으로 보입니다. 문제, 고마워. 이제 저장 프로 시저를 찾는 데 실패하면 오류가 발생합니다. "dbo.aspnet_CheckSchemaVersion"은 다른 물고기 주전자입니다. – SomeGuy

+0

@SomeGuy : db 오류는 실제로 물고기와 다른 주전자입니다. 웹 응용 프로그램이 새 ASP.NET MVC 응용 프로그램 (App_Data/AspNetDB.mdf)에 기본값으로 설정된 데이터베이스를 찾으려고합니다. web.config에서 연결 문자열을 변경하면 설치 및 실행됩니다. –