2012-03-22 6 views
0

webmatrix에서 많은 정적 정적 함수를 사용하여 App_Data에 DAL.cshtml을 만들었습니다.하나의 cshtml이 다른 cshtml에서 함수를 어떻게 호출합니까?

다른 .cshtml 페이지에서 다른 폴더로 보내고 싶습니다. 현재

나는 컴파일러 오류 메시지 : CS0103을 : 이름의 DAL은

(I가 단일 위치에 데이터 액세스 이동에 대한 블로그 다음 초보자있어주의) 현재 컨텍스트에 존재하지 않는 내 DAL.cshtml에서

예입니다 내 '호출'에서

public static void AddProfile (dynamic Profile) 
{ 
var sql = "INSERT INTO profile (ProfileDescription, ProfileType) " + 
      "VALUES (@0, @1)"; 
      PinwheelDB.Execute(sql, Profile.ProfileDescription, Profile.ProfileType); 
      var Profile.ProfileID = PinwheelDB.GetLastInsertId(); 
} 

내가 가진 .cshtml :

 dynamic Profile = new ExpandoObject(); 
      Profile.ProfileDescription = Request.Form["txtChildFirstName"]; 
      Profile.ProfileType = 1; 
     functions.DAL.AddProfile(Profile); 
     var vProfileID = Profile.ProfileID; 

답변

2

내가 대신 App_Data의의 App_Code라는 폴더에 DAL.cshtml를 이동하면 (감사-을 대린를) 그냥 효과가있었습니다.

DAL.cshtml 지금의 App_Code라는 폴더에 내가 가지고 ........ 내가 함께 만난다 코드 (경우에 또 다른 초보자를하는 데 도움이) 다음과 같다 있습니다 :

@functions 
{ 
public static void AddProfile (dynamic Profile) 
{ 
var sql = "......"     
PinwheelDB.Execute(sql, .......); 
} 

는 .cshtml 호출은 내가 처음

이 이해하고 싶은 이유를 누군가가 알고 있다면

을 인용 남아있다.

+0

자신의 답을 받아 들여 문제를 해결 된 것으로 표시 할 수 있습니다. –

0

App_Code 폴더의 클래스에 일반적으로 사용되는 메서드를 넣을 수 있습니다. 예를 들어, 당신은 할 수있는 ~/App_Code/DAL.cs :

public class DAL 
{ 
    public static void AddProfile(dynamic profile) 
    { 
     ... 
    } 
} 

하고 호출 면도기 페이지

:

@{ 
    var profile = ... 
    DAL.AddProfile(profile); 
} 
+0

미안하지만 원래 질문에서 내 코드 발췌 부분에 대한 세부 사항을 놓쳤습니다 .... 나는 당신이 이미 설명한대로 이미 가지고 있다고 생각합니다. 호출 용 면도날 비트는 @ {}에 포함되어 있습니다. 나는 ~/App_Code/DAL.cshtml을 가지고있다. 그러나 전화 면도기 페이지는 ~/App_Code/DAL.cs에 대한 참조가 없으므로 문제가 될 수 있습니까? thx – Pinwheeler

+0

@CharlotteCopper, 아니요, 당신은'App_Code'와 같지 않은'App_Data' 폴더에 넣었습니다. 또한'DAL.cshtml'을 사용했지만'DAL.cs'를 사용했습니다. 다시 한번 똑같은 것은 아닙니다. –

+0

오케이. 나는 복사하려고 노력할 것이다. 새 webmatrix 페이지를 만들 때 사용할 수있는 파일 확장명은 .cs가 아닙니다. 고마워요 – Pinwheeler

관련 문제