2009-12-11 3 views
1

최근에 ASP.NET에서 개발을 시작했고 PHP 백그라운드에서 코드를%%>를 사용하여 aspx 페이지에 뿌려 로직을 제어했습니다.Visual Studio 2008의 ASP.NET 코드 재배치

난 뒤에 코드를 사용하는 최상의 방법에 대해서는 논쟁하지 않겠지 만, 그 방향에 유리한 점 중 하나는 내가 겪고있는 문제입니다.

언급 한 것처럼 aspx 파일에 코드가있는 페이지의 디자인보기에 들어가서 임의로 모든 < %%> 블록 - 이동 - aspx에서 임의의 반점처럼 보이는 페이지로 이동합니다.

이것은 분명히 왕복으로 내 제어 로직을 엉망으로 만들고, 모든 내부 코드를 10 번 이상 다시 실행 한 후에 (예, 나는 총알을 물지 말고 코드를 뒤집기에는 너무 게으름), 정말 호기심이 듭니다. Visual Studio에서 이러한 실수를 할 수있는 방법은 무엇입니까?

심지어는 < %%> 블록 중 일부를 완전히 제거 할 수 있습니다 (코드에서 누락 된 중괄호가 누락 됨).

누구든지 내가이 문제를 해결할 수 있거나 해결할 수 없다는 것을 알고 있다면 크게 알게 될 것입니다.

+0

VS에서 문제를 해결하는 방법을 모르겠지만 이전 작업에서 인라인 블록을 사용하여 코드를 작성해야 할 때 VS 대신 텍스트 편집기를 사용했습니다. 그것은 확실히 이상적이 아니 었습니다. –

답변

1

나는이 문제점을 발견했다고 생각한다.

잘못된 HTML (닫히지 않은 태그 또는 추가 닫기 태그)이 문제를 일으키는 것으로 보입니다.

레이아웃 디자이너는 구문 검사기없이 손으로 작업을 수행했습니다.

+0

당신이 당신 자신의 대답을 수락하는 동안, 나는 Sonny Boy의 충고에 귀를 기울일 것입니다. PHP와 같은 ASP.NET을 처리하기로 한 결정을 후회하기보다는 조만간 더 빨리 수행 할 것이라는 점은 전혀 의심의 여지가 없습니다. ASPX 페이지에 로직을 배치 할 이유가 없습니다. 이것은 나쁜 디자인이며, 전에 떠난 사람들이 얻은 교훈에주의하지 않습니다. –

+0

그래, 나는 완전히 동의한다. 수업은이 프로젝트에서 배웠습니다! –

5

ASP.NET의 모범 사례는 최대한 많이 < %%> 블록을 피하는 것입니다. 클래식 ASP의 유산입니다.

콘텐츠에 값을 넣으려면 페이지의 컨트롤을 <asp:TextBox>과 같이 만들고 코드 숨김 값에 따라 값을 설정해야합니다.

디자인/소스보기는 마크 업용으로 사용하고 논리가 아닌 경우에만 사용할 수 있습니다 (도움이 될 경우).

+0

+1 멋진 답변입니다. :) – Saar

+0

ASP.NET WebForms를 사용할 때이 블록을 사용하지 말 것을 편집합니다. ASP.NET MVC는 그것들을 자유롭게 사용하고 IMO에 큰 효과를줍니다. –

+1

+1하지만주의해야합니다. 을 사용하여 페이지에 콘텐츠를 추가하는 것이 아니라 레이블 컨트롤을 사용하여 콘텐츠를 추가합니다. 단순한 <%#VarName%> 요소도 좋지만 텍스트 상자는 사용자 입력 용으로 만 사용해야하며 출력용이 아닙니다. –

0

Visual Studio에서 수정하려는 배열에 코드를 적용하려고합니까? VS에서 이러한 종류의 문제를 겪고 있다면 VS가 원하는대로 코드를 재 배열하고 발생하는 오류를 수정하는 것이 가장 좋습니다. 코드가 안정화 될 때까지 이것을 수행하고 VS는 더 이상 코드를 재정렬하려고하지 않습니다.

즉, VS는 논리를 변경하는 방식으로 코드를 재구성해서는 안됩니다.

+0

저는 프로젝트를 통해 디자이너의 전반적인 사용을 완전히 중단하기로 결정했습니다. 프로젝트가 잘 작성되었으며 사이트가 잘 표시되었지만 디자인보기에서 무언가를 수정했을 때만 코드가 재 배열되었습니다. 그것은 완전히 내게 던져 버렸습니다. 어떻게 일어 났는지에 관해서는 완전히 손해를보고있었습니다. –

0

내가 줄 수있는 가장 좋은 대답은 디자인보기을 사용하지 마십시오. 필요한 경우 툴박스의 컨트롤을 마크 업에 직접 드롭 할 수 있으며, 실제 브라우저로 페이지를 렌더링하는 방법을 선호합니다.