저는 ASPX 페이지 요소를 조작하는 많은 방법을 가지고 있으며,이 시점에서 이들을 자신의 정적 객체로 캡슐화하는 것이 좋습니다. 그러나 ASPX 페이지 외부의 양식 요소에 액세스 할 수없는 것 같습니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?클래스 내부의 ASPX 요소에 액세스하십시오.
0
A
답변
0
페이지 개체를 매개 변수 중 하나로 클래스 메서드에 전달해야 클래스의 요소에 액세스 할 수 있습니다.
당신은 같은 클래스가있는 경우 예를 들어: 당신이 정말로 기능을 캡슐화 할 경우
CMyDataClass oMyDataClass = new CMyDataClass();
if (oMyDataClass.CompareText(this)) {
Response.Write("Ok!");
}
0
, 당신이 최고의 만들 것 같아요 :
public class CMyDataClass {
public bool CompareText(System.Web.UI.Page i_oPage) {
TextBox oTextBox = i_oPage.FindControl("TextBox1");
return (oTextBox.Text == "My Data");
}
}
당신은 페이지에서 다음과 같이 사용할 수 있습니다 관련 요소를 생성자에 전달하는 클래스입니다.
다른 페이지에서 재사용을하려는 경우 상속 한 기본 페이지를 만들 수 있습니다. 또 다른 옵션은 페이지에서 참조하는 마스터 페이지에서 작업을 수행하는 것입니다.
더 자세한 답변을 제공하려면보다 자세한 질문이 필요하다고 생각합니다.
1
당신은 클래스로 페이지 자체를 전달하는 아래의 예를 참조해야합니다
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtTest" runat="server" Text="Test" />
</div>
</form>
코드 숨김
ASPX 페이지를
protected void Page_Load(object sender, EventArgs e)
{
Process p = new Process(this);
string s = p.GetTextBoxValue();
}
클래스
public class Process
{
public Page thePage { get; set; }
public Process(Page page)
{
thePage = page;
}
public string GetTextBoxValue()
{
TextBox tb = (TextBox)thePage.FindControl("txtTest");
return tb.Text;
}
}
아마도 프로세스가 클래스에 가장 적합한 이름은 아니지만, 이것은 단지 데모입니다.
또한 Page 객체를 다른 클래스에 전달하면 해당 클래스가 Page 객체에 연결됩니다. Page 객체에 전적으로 의존하지 않으려는 클래스의 디자인을 재고하는 것이 좋습니다.
관련 문제
- 1. codebehind의 xslt 요소에 액세스하십시오.
- 2. filesystemeventhandler에서 Form1 요소에 액세스하십시오.
- 3. jquery에서 콘텐츠 페이지 요소에 액세스하십시오.
- 4. Fragment 객체의 FragmentActivity에있는 요소에 액세스하십시오.
- 5. 다른 Qt 디자이너의 ui 요소에 액세스하십시오. 폼 클래스
- 6. 클래스 라이브러리의 세션에 액세스하십시오.
- 7. 아이템 렌더러 내부의 comopnent 속성에 액세스하십시오.
- 8. DataTemplate 내부의 요소에 스타일 적용
- 9. iframe 내부의 요소에 대한 Tabindex
- 10. 자바 스크립트를 통해 SVG 요소에 액세스하십시오.
- 11. UI 자동화를 사용하여 TableViewCell 요소에 액세스하십시오.
- 12. Silverlight : DataContextProxy를 사용하여 ObserableCollection 요소에 액세스하십시오.
- 13. 그룹화 된 요소에 포함되지 않은 데이터에 액세스하십시오.
- 14. CSS를 통해 요소에 클래스 할당
- 15. as3 - 동적으로 클래스 속성에 액세스하십시오.
- 16. 하위 폴더의 페이지에서 응용 프로그램 루트에있는 aspx 페이지에 액세스하십시오.
- 17. .aspx vs .cs 클래스
- 18. 동적으로 클래스 이름을 aspx
- 19. 클래스 내부의 경로 처리기
- 20. 내부의 의사 클래스 : not
- 21. 배열 내부의 요소에 대한 Java 잠금
- 22. 목록 요소 내부의 부동 요소에 대한 트릭
- 23. 작은 mce 내부의 요소에 id를 설정하는 방법
- 24. Foreach 노드 내부의 XML 요소에 액세스
- 25. Fluent NHibernate : 서브 클래스 내부의 서브 클래스
- 26. quirksmode에서 요소에 클래스 추가하기
- 27. Jquery, 요소에 클래스 추가
- 28. 안드로이드 웹 응용 프로그램에서 로컬 네트워크 내부의 .NET webservice에 액세스하십시오.
- 29. 구성 요소 내부의 구성 요소 템플릿에있는 필드에 액세스하십시오.
- 30. 클래스 내부의 ARC에서 @autoreleasepool 사용
왜 정적 객체입니까? 진실로 국가가 없습니까? 또한 하위 클래스의 기능을 상속받을 수 있도록 기본 클래스 만 갖고 싶은 무언가입니까? 마지막으로, aspx 페이지 요소를 조작하는 경우 요소 및 캡슐화 된 기능을 사용하여 웹 사용자 정의 컨트롤을 만드는 것이 더 합리적입니까? 요컨대, 당신이 갖고있는 것과 당신이 원하는 것에 대한 실제 예를들 수 있습니까? – NotMe
"ASPX 페이지 외부의 양식 요소에 액세스 할 수 없습니다."라는 의미를 모르겠습니다. FindControl을 사용하고 있는데 아무 것도 반환하지 않는다는 것을 의미합니까? 코드 샘플을 게시하여 수행중인 작업을 설명하고 오류를 좀 더 명확하게 설명하십시오. –