Visual Studio에서 사용자 지정 컨트롤이 있고 디자인 모드에서 Visual Studio의 현재 열린 페이지에 어떻게 든 액세스 할 수 있어야합니다. 사용자 지정 컨트롤의 Page 속성을 보면 ID에 "__Page"라고 표시되고 대부분의 속성에 액세스 할 수 없으므로별로 도움이되지 않습니다. 누구든지 프로젝트에서 현재 열려있는 페이지의 파일 이름을 얻는 방법이있는 서비스 또는 인터페이스를 알고 있습니까? 감사.Visual Studio.NET에서 사용자 지정 컨트롤로 현재 열어 놓은 ASP 페이지 파일 이름을 가져올 수 있습니까?
답변
할 수 있습니다. 여기를 참조하십시오 : http://weblogs.asp.net/gunnarpeipman/archive/2008/05/21/using-parent-page-properties-in-user-control.aspx
을하지만, 심지어이 페이지
이 상황을 말하여 시작하는 경고 표지판입니다 - 사용자 컨트롤 부모를 알아야 할 경우 UI 구조에 문제가 있습니다.
페이지에 대한 정보를 알고 싶다면 페이지에서 설정할 수있는 컨트롤을 만드는 것이 좋습니다. 그런 다음 컨트롤 내에서 속성 값을 확인할 수 있습니다.
예를 들어 실제로 페이지 이름을 알아야하는 경우 컨트롤에 "PageName"이라는 속성이 있어야하며 페이지에 광고 할 때 속성을 명시 적으로 설정할 수 있습니다. (나는 원한다면 예를 들고 올 것이다.)
다음은 예를 들어보고 페이지의 날짜 - 시간 선택기 컨트롤입니다. 텍스트 상자에 연결된 FromDate라는 속성이 있습니다.
public DateTime FromDate
{
get
{
return Convert.ToDateTime(txtFrom.Text);
}
set
{
txtFrom.Text = value.ToString();
}
}
그런 다음 당신은이 같은 그는 페이지를 int로 설정합니다 :
<uc1:DateRangeControl ID="DateRangeControl1" runat="server"
FromDate="1/1/2009" />
우리가 설계 결함 말할 이유는 좋은 OO 디자인은 자연에 의해 제어가 작동 할 수 있어야한다고 말할 것이다 어떤 컨테이너가 들어 있는지 모른 채
감사합니다. David +1. 나는 너와 확실히 동의하지만 이것은 내가 겪은 일이 아니다. 이러한 사용자 지정 서버 컨트롤로 작업하고있는 최종 결과는 컨테이너 나 그와 같은 것에 대한 종속성을 발생시키지 않습니다. 나는 현재 페이지 객체를 포함하고있는 파일 이름을 보여주는 런타임 컨텍스트에 의해 생성 된 몇 가지 속성과 동등한 것을 찾고있다. 예를 들어 AppRelativeVirtualPath 속성은 Page의 TemplateControl입니다. 요청 및 리플렉션을 통해 몇 개의 다른 페이지에서 찾을 수 있지만 디자인 타임 중에는 이러한 속성이 모두 null입니다. – Nate
왜이 정보는 디자인 타임에 필요합니까? 디자인 모드에서 올바르게 표시되는 데 문제가있는 경우 DesignMode 속성을 확인하고 런타임에 페이지 종속 논리 만 실행할 수 있습니까?
아니요 런타임에 페이지 파일 이름 정보가 필요하지 않습니다.개발자 편의를 위해 서버 컨트롤에 대한 일부 사용자 지정 편집기에서 페이지 파일 이름 정보를 사용하고 싶습니다. 컨트롤에 대한 종속성을 생성하지 않습니다. – Nate
이 작업을 수행해야한다면 UI 디자인에 문제가 있다는 것에 동의합니다. 그러나, 나는 그것을 때때로 발견했다.
는 사용자 지정 컨트롤을 가정하면 WebControl 또는 그 서브 클래스 중 하나를 확장하고 페이지 안에 :와
string myPageName = System.IO.Path.GetFileName(this.Page.Request.Path);
쉽습니다.
- 1. 다른 사용자가 현재 열어 놓은 파일을 덮어 쓸 수 있습니까?
- 2. Excel에서 열어 놓은 이미지를 임베드했습니다.
- 3. ASP 웹 양식을 사용자 정의 컨트롤로 변환
- 4. Safari는 브라우저 창 이름을 열어 놓은 도메인과 연결합니까?
- 5. 사용자 지정 컨트롤로 폼의 레이블에 액세스
- 6. 리플렉션을 사용하여 현재 실행중인 클래스 이름을 가져올 수 있습니까?
- 7. 현재 활성화 된 응용 프로그램의 이름을 가져올 수 있습니까?
- 8. Rebol 현재 실행중인 스크립트의 이름을 가져올 수 있습니까?
- 9. 어떻게 Silverlight 2.0에서 현재 사용자 이름을 얻을 수 있습니까
- 10. Designer 컨트롤을 사용자 지정 컨트롤로 설정
- 11. 이미지 파일의 이름을 Uri로 가져올 수 있습니까?
- 12. 파일 이름을 대상으로하는 사용자 지정 명령을 추가하십시오.
- 13. 유니 코드 문자가있는 경우 폴더에서 파일 이름을 가져올 수 있습니까?
- 14. EntityFramework에서 사용자 지정 정렬 된 EntityCollection을 기본적으로 가져올 수 있습니까?
- 15. userName으로 사용자 ID를 가져올 수 있습니까?
- 16. 코드에서 DataMember 이름을 가져올 수 있습니까?
- 17. 정적 메서드에서 클래스 이름을 가져올 수 있습니까?
- 18. clientIp에서 국가 이름을 가져올 수 있습니까?
- 19. CSS - 현재 '값'과 '추가'를 가져올 수 있습니까?
- 20. HttpContext에서 현재 실행중인 컨트롤러를 가져올 수 있습니까?
- 21. 현재 사용자 별 페이지 캐싱
- 22. jsp 2.0 사용자 정의 태그 안에서 호출 페이지 이름을 가져올 수 있습니까?
- 23. C# word-2007 추가 기능 : 현재 열어 본 단어 파일의 경로와 파일 이름을 가져 옵니까?
- 24. asp-control을 사용하여 '텍스트'속성을 가져올 수 없습니다.
- 25. 사용자 지정 GridView 페이지 매김
- 26. 이미 다른 사용자가 열어 놓은 mdb 파일을 여는 방법은 무엇입니까?
- 27. 사용자 지정 인증 특성
- 28. DisplayAttribute 이름을 가져올 수 없습니다.
- 29. Django : 이름을 가져올 수 없습니다.
- 30. ImportError를이 : 이름을 가져올 수 없습니다
왜 컨트롤이 페이지에 대해 알 필요가 있습니까? – adam0101