2011-02-14 5 views
2

다음과 같은 문제가 있습니다. - 웹 페이지의 모든 콘텐츠 페이지에서 상속되는 ASP 메뉴 컨트롤이있는 마스터 페이지가 있습니다.하나의 .aspx 페이지에 두 개의 양식 태그가 있습니다.

문제는 (거의) 모든 콘텐츠 페이지에 내가 runat = "server"과 양식을 가지고있다 그리고 난의 메뉴 컨트롤을 넣어해야하기 때문에 내가 (한 페이지에 runat = "server" 2 개 양식 태그를 가질 수 없습니다 컴파일 오류가 다른 양식 태그).

어떻게해야합니까? 나는 이것을 C#/ASP.NET의 대학 과정을위한 과정 프로젝트로하고 있는데, asignment에서 우리는 마스터 페이지를 사용해야하고 사이트 탐색을 위해 asp 탐색 컨트롤을 사용해야한다고합니다. 메뉴에 대해 명확한 html을 사용하거나 마스터 페이지를 드롭하십시오.

+1

이 질문의 태그에서 'asp.net-mvc'를 삭제하거나 양식에서 'runat = "server"'를 제거하십시오. – LukLed

답변

3

가장 쉬운 옵션은 실제 페이지에서 양식을 제거하고 모든 양식에 단일 양식을 사용하는 것입니다. ASP.NET Web Forms는 이러한 방식으로 작동하도록 설계되었습니다. 대학 프로젝트이므로 괜찮을 것입니다.

더 좋은 방법은 클라이언트 측 (runat = "server"양식 없음)을 사용하는 것입니다. Request.Form 객체를 사용하여 값을 읽을 수있는 일종의 "PHP 방식"으로 수동으로 게시물을 처리 할 수 ​​있습니다. ASP.NET 메뉴 컨트롤을 사용해야하는 경우에는 작동하지 않습니다. 따라서 기본적으로 요구 사항에 따라이 접근법을 사용할 수 없습니다.

P. 왜 게시물이 ASP.NET MVC 태그로 태그가 붙어 있습니까? ASP.NET MVC를 사용하는 경우에는이 문제가 발생하지 않아야합니다. 그러나 다른 문제가 있습니다.

+0

실제로 콘텐츠 페이지에서 서버 측을 제거하면 시작할 수 없습니다. with ... –

+0

나는 AJAX가 많은 웹 사이트에서 서버 측 폼의 범위를 줄이기 위해 개인적으로 옹호합니다. 그러한 프로젝트에서 개발자는 Web Forms의 단일 양식 접근 방식에 문제가 발생할 수밖에 없으며 이는 사람들이 Web Forms에 대해 불평하는 이유 중 하나입니다. 이 경우 개발자는 장기적인 이익을 위해 단기간의 장점을 포기해야합니다. 그러나 이것은이 질문에 해당하지 않는 것처럼 보입니다. – Stilgar

+0

답변 주셔서 감사합니다. Stilgar :) – asenovm

관련 문제