2012-12-04 4 views
2

나는 aspx 문서를 가지고있다. (나는 asp, .net, aspx, nada에 대해 아무것도 모른다.) 이것은 대부분의 경우 일반적인 HTML 테이블 구조이지만, 일종의 동적 내용을 삽입하는 것처럼 보이는 asp 문자열이 있습니다. 그들은 양식에 있습니다이 ASP는 어떻게 든 컴파일 되었습니까?

<asp:Image ID="imgTopImage" runat="server" ImageUrl="~/Images/topbar.jpg" />  
<asp:Label ID="lblStyleCaption" runat="server" CssClass="label_caption" Text="Theme: " Visible="false" /> 
<asp:DropDownList ID="dropStyles" Width="150" runat="server" AutoPostBack="true" /> 

그것은 보인다 나는 이들 중 하나 삭제할 때마다 - 말하자면, 난 그냥 이미지를 제거해야한다고 생각 것 asp:Image 태그와 라인 때처럼 무해한 무언가를 I 내가 런타임 오류가 페이지를로드합니다. 그것은 매우 특별합니다. 제 질문은, 어떻게 든이 컴파일 된, 너무 깨지기 쉬운 것입니다. topbar.jpgsomething.png으로 변경해도 오류가 발생합니다. 이 파일이 컴파일 된 원래 파일을 추적해야합니까, 아니면 정상적인 서버 측 ASP (x?)인데 변경 사항을 어떻게 만듭니 까?

+1

aspx 페이지가 컴파일됩니다. – Shmiddty

+0

'ImageUrl'을 변경해도 오류가 발생하지 않아야한다고 생각하지 않지만 URL을 확인할 수 없으면 (이미지가 존재하지 않을 때) 오류가 발생할 수 있습니다. – Shmiddty

+0

@Shmiddty 그들은 필연적으로 컴파일되어 있습니까? 아니면 가끔? 이 특성 (편집)이 편집 후 편집을 불가능하게합니까? 감사! – 1252748

답변

3

ASPX 페이지가 컴파일되고 해당 태그는 서버에 알려진 개체를 참조하므로 오류가 발생할 수 있습니다.

첫째, 쉽게 설명하자면 ASP로 시작

태그의 몇 가지 기본 : (예, <ASP:Button id="btnSubmit" runat="Server" Text="Click Me" />)

은 표준 HTML 버튼 아니다. 그들은 서버 컨트롤입니다. 브라우저로 나가는 HTML을 생성 할 때 ASP.NET 런타임은 서버 컨트롤을보고 페이지를 방문하는 브라우저에 따라 적절한 내용을 만듭니다.

Button 컨트롤의 경우 일반적으로 표준 HTML 버튼이지만 런타임은 버튼의 서버 측 클릭 이벤트를 처리하기 위해 JavaScript 등을 생성합니다.

당신이 컨트롤을 제거 할 때 당신은 아마 오류를보고있는 이유 :

종종 이러한 컨트롤에 액세스하는 서면의 서버 측 코드가있다. 예를 들어 개발자가 일부 이벤트로 인해 Text 또는 Visible 속성을 변경하기로 결정했을 수 있습니다.

이 경우, 태그를 제거하면 aspx 페이지에 더 이상 존재하지 않는 개체를 참조하는 서버 쪽 코드가 있으므로 오류가 발생합니다. 서버 컨트롤에 이러한 링크에서

더 :

기본 비디오를 보거나 튜토리얼을 통해 시간을내어 http://www.asp.net/get-started

01 23,516,

난 그냥 질문이 나타났습니다 :

심지어 단지 something.png에 topbar.jpg를 변경하는 나에게 오류를 제공합니다.일반적으로 조금 이상한,하지만 난 그게 일어날 수있는 적어도 하나의 방법을 알고

...

, 비주얼 스튜디오 당신에게 경고 (그리고 오류)의 경우를 줄 것이다 이미지에 대한 상대 URL 또는 존재하지 않는 링크 된 페이지가 포함됩니다. 경고는 컴파일을 방해해서는 안됩니다. 그러나 Visual Studio에는 경고를 오류로 처리하도록 지시하는 설정이 있습니다. 컴파일을 막을 수 있습니다. 여기에이 설정 될 방법은 다음과 같습니다 프로젝트 설정에서

을> 구성 속성 빌드 설정을 선택하고 true로 "경고를 오류로 처리"설정을 변경합니다.

경고를 오류로 취급하지 않으려면 설정을 false로 변경하십시오.

+0

고마워, 그냥 새로운 것을 배웠다 :) –

+0

고마워, 데이빗. 이것은 나에게 약간 불투명 한 것 같지만, 배울 수있게 도와 주셔서 감사합니다! :) – 1252748

+0

예, 서버 컨트롤에 대한 전체 설명은 사이트의 범위가 약간 큽니다. 서버 컨트롤에 대해 설명하는 두 번째 링크를 편집했습니다. 처음보다 더 나은 방법입니다. 내가 너라면 거기에서 시작할거야. 그것은 너무 나쁘지만 ASP.NET이 새로운 것이었을 때 배우기에는 멋진 사이트 였지만 이전에는 대체되었습니다. 나는 그것이 아직도 주변에 있었으면 좋겠다. – David

관련 문제