2012-05-14 5 views
0

나는 asp.net.net 초보자입니다. Site.Master에서 Site.Master.cs에서 생성 된 일부 객체를 사용하고 싶습니다. 그것을 할 수있는 쉬운 방법이 있습니까?.cs에서 .aspx로 개체를 전달하는 방법

MVC에서 (뷰 (객체) 사용) 수행하는 방법을 알고 있습니다. 하지만 어떻게 정상적인 ASP .net 웹 응용 프로그램에서 할 수 있습니까?

답변

2

을 나는 당신이 원하는 정확히 이해하지 않습니다.

당신은 당신이 SiteMaster.master 파일 다음과 같은 일을 삽입 할 수 있습니다 태그의 제목에 몇 가지 문자열을 삽입 할 경우이 첫 번째 경우

<img src="images/logo.png"> 

:

<img src="<%= Page.ResolveUrl("~/") %>images/logo.png"> 

대신을 응용 프로그램의 루트에서 경로가 계산됩니다. 두 번째 경우에는 상대 링크가 있습니다. 이는 서버가 Page.ResolveUrl ("~") 함수의 값을 계산하고 src 태그에 쓰기 때문에 발생합니다.

다른 메소드, 클래스를 올바르게 정의한 경우 동일한 작업을 수행 할 수 있습니다. 그러나 .aspx 파일 (또는 .master 파일)에 복잡한 논리를 구현하는 것은 권장하지 않습니다. 이러한 응용 프로그램을 테스트하고 스타일을 지정하면 많은 어려움을 겪을 수 있기 때문입니다. - 임베디드 코드 블록이 페이지의 렌더링 단계에서 실행 서버 코드

  1. <%의 %> :

    다른 서버 태그있다. 블록의 코드는 현재 페이지 클래스에서 프로그래밍 명령문 및 호출 함수를 실행할 수 있습니다. Description and examples

  2. < % = %> - 단일 정보를 표시하는 데 가장 유용합니다.Description and examples
  3. < % # %> - 데이터 바인딩 표현식 구문. Description and examples
  4. < % $ %> - ASP.NET 표현식. Description and examples
  5. < % @ %> - 지시문 구문. Description and examples
  6. < % - - %> - 서버 쪽 설명. Description and examples
  7. < % : %> 같은 < % = % -하지만 HtmlEncodes 출력 (Asp.Net 4 새로운) 코드. Description and examples

또 다른 방법 : 클라이언트에 일부 데이터를 전송하고 자바 스크립트로 처리 할 JSON을 사용할 수 있습니다. this project을보십시오.

0

Site.Master.cs의 모든 public 또는 protected 속성 또는 메서드에 Site.Master에서 액세스 할 수 있습니다.

aspx에서 C# 코드를 호출하는 방법은 무엇입니까?

the <%= %> constructiondatabinding syntax 등 여러 가지 방법이 있습니다.

달성하려는 내용을 설명하면 도움이됩니다. 당신의 .aspx 파일의 @Page 지시어는 XYZ.cs 파일에 선언하는 클래스입니다 Inherits="XYZ"이있는 경우

+1

그러나 aspx에서 C# 코드를 호출하는 방법은 무엇입니까? –

2

, 당신은 단순히 당신의 클래스에 protected 필드를 추가하고 값을 할당 할 수 있습니다. 이름을 사용하여 .aspx 파일에 액세스 할 수 있습니다.

HttpContext.Current.Items["SavedItem"] = "hello world"; 

을 그리고 페이지에서 사용 :

또한 하나의 요청시에 객체를 유지하는 HttpContext.Items property을 사용할 수 있습니다

<%= ((string)Context.Items["SavedItem"]) %> 
+0

"시스템. 웹 .ttpcontext"형식의 표현식에 색인을 적용 할 수 없습니다. –

+0

@JoshuaHu 두 번째 줄에 ".Items"가 누락되었습니다. –

관련 문제