2012-06-22 1 views
0

Possible Duplicate:
Razor-based view doesn't see referenced assemblies컴파일러 오류 메시지 : CS0103 : 이름 '데이터베이스'는 현재 컨텍스트

에 존재하지 않는 나는 신참이 ASP.net 에서 나는 데이터베이스에 연결을 시도하고 그리고 난이 오류

점점 계속

**Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0103: The name 'Database' does not exist in the current context

Source Error:

Line 1: @{ Line 2: var db = Database.Open("demo"); ' Line 3:
Line 4:

Source File: c:\Users\Ayoya\Documents\My Web Sites\demo\Page.cshtml
Line: 2 **

아무도 나에게 무슨 문제가 있다고 말할 수 있습니까? 감사합니다.

답변

0

컴파일러는 이미 잘못된 점을 말하고 있습니다. 사용자는 Database의 의미를 모릅니다. 그 의미는 페이지의 속성입니까, 아니면 정적 인 Open 메서드가있는 유형의 이름입니까? 그것은 코드 자체로는 명확하지 않으며 컴파일러는 이름을 찾을 수 없다는 것을 분명합니다.

무슨 뜻인지 확인한 다음 컴파일러가 왜 그것을 볼 수 없는지 알아 낸 다음 해결해보십시오. 이 단계들에 대해 더 많은 도움이 필요하면 더 많은 정보를 제공해야합니다.

(AN으로 옆으로, 나는 완전히 dbaseman에 동의 :보기에 넣어 데이터베이스 호출 나쁜 생각입니다.)

+0

나는 W3schools를 따르고 있으며, 그들이 WebMatrix에있는 것을 처음 보았을 때 –

+0

을 정확히 수행했습니다. WebMatrix에는 올바른 DLL이 포함되어 있습니다. 다른 환경을 사용하는 경우 DLL에 대한 참조가 없을 수도 있습니다. – codingbiz

+0

예 WebMatrix를 사용하고 있습니까 DLL을 정확히 포함해야합니까? –

0

당신이 당신의 면도기보기에서 데이터베이스를 여는 경우, 즉 완전히 잘못된 접근입니다. 논리는보기가 아닌 컨트롤러에 있어야합니다. 뷰에 필요한 모든 데이터가 포함 된 "뷰 모델"클래스를 만들고 해당 클래스를 컨트롤러에서 채우는 것이 좋습니다.

아마도이 코드가 작동하지 않는 이유는 의 전체 네임 스페이스를 지정해야하기 때문일 수 있습니다. 나는 그 클래스가 무엇인지는 모르겠다. 그것은 별도의 DLL에 있다면, 당신은 더 많은 문제가있을거야. 다시 말하지만, 데이터베이스 로직을 컨트롤러에 넣음으로써이 문제를 회피해야합니다.

관련 문제