2010-01-04 3 views
0

우리는 웹 브라우저에서 웹 양식을 보여주는 win 응용 프로그램을 보유하고 있습니다. 이 웹 양식에서 데이터를 가져 오기 위해 숨겨진 텍스트 상자를 사용하고 웹 브라우저 컨트롤의 HtmlDocument 객체를 사용하여 텍스트를 가져옵니다. 다른 양식에서이 추상화를 사용할 수 있도록이 텍스트 상자 요소가있는이 웹 양식의 추상화를 만들고 싶습니다. 나는 웹 컨트롤을 만들고 그것에 텍스트 상자를 넣었다. 나는이 컨트롤을 내 페이지에 놓으면 텍스트 상자를 가질 것이라고 생각했다. 내가 응용 프로그램을 실행할 때 텍스트 상자가 렌더링되었지만 컨트롤이 있다는 것을 알았다고 생각했다. 이름 (WebControl $ TextBoxName) 및 해당 ID (WebControl_TextBoxName) 및 해당 응용 프로그램의 id (TextBoxName)로 요소를 찾을 수 없으므로 예외가 throw됩니다. 여기 내 질문 : 일부 요소가있는 추상 웹 양식/웹 컨트롤을 만들 수 있습니까? 그리고이를 사용하여 최종 양식에 이러한 요소가 있습니다. (이름과 ID를 변경해서는 안 됨) 도움을 주셔서 감사합니다.ASP.Net 페이지 추상화

답변

1

후에 .NET 4.0 정적 아이디의 지원, 또는 Client Id Mode

에 읽어, 당신은 출력 당신이 원하는 ID와 표준 HTML 숨겨진 양식 필드 컨트롤의 렌더링 무시하고 수 또한 asp.net 서버 컨트롤이 아니라는 사실을 숨길 텍스트 상자를 반환하는 사용자 지정 속성을 추가하십시오.

1

WinForms에서 브라우저 컨트롤을 사용한 적이 없지만 마스터 페이지를 사용하고 싶습니다. 브라우저 컨트롤에서 렌더링하는 것은 ASPX 페이지라고 가정하면 데이터를 가져올 숨겨진 텍스트 상자가있는 마스터 페이지를 만들고 해당 공용 컨트롤을 사용하려는 모든 페이지에 마스터 페이지. 페이지가 렌더링되면 컨트롤 ID는 "ctl00_TextBoxName"이됩니다. 고유 한 ID가 필요하고 ASP.NET의 모든 중첩 제어 기능과의 고유성을 보장하는 유일한 방법이기 때문에 ID 연결을 피해 갈 방법이 없습니다. 그러나이 작업을 수행하면 마스터 페이지를 상속하는 모든 새로운 서식에 대해 항상 동일한 컨트롤을 사용할 수 있습니다. 희망이 도움이됩니다! 요약

(누가 단락 읽기 때문에?) :

  • 만들기 마스터 페이지 마스터 페이지

  • 장소 마스터 페이지
  • 에 공통 제어 가지고 당신의 양식이 상속을 마스터 페이지의 작동 방식을 MSDN's Documentation에서 확인할 수 있습니다. 그들은 난도질하지 않도록