2014-05-22 4 views
0

렌더링 된 HTML에서 양식 이름을 가져 오려고합니다. 마스터 페이지 안에 aspx 페이지를 넣었습니다. 다음 코드는 매개 변수로 페이지의 이름을 전달하는 곳입니다. 그러나 ctlEnumerator.Current가 마스터 페이지 이름을 표시하고 있기 때문에 코드가 null을 반환합니다. 양식 이름을 가져 오기 위해 코드에서 변경해야 할 사항은 무엇입니까? 미리 감사드립니다. 이제IEnumerator를 사용하여 마스터 페이지에서 양식 이름 가져 오기

public static System.Web.UI.HtmlControls.HtmlForm GetHtmlForm() 
{ 
    var context = HttpContext.Current; 
    if (context != null) 
    { 
     Page currentPage = context.CurrentHandler as Page; 
     if (currentPage != null) 
      return currentPage.Form; 
    } 
    return null; 
} 

는이 방법으로 마스터에서 그것을 얻을 :

private HtmlForm __getHtmlForm(System.Web.UI.Page page) 
{ 
IEnumerator ctlEnumerator = page.Controls. GetEnumerator(); 
while (ctlEnumerator.MoveNext()) 
{ 
object curr = ctlEnumerator.Current; 

if (curr is HtmlForm) 
{ 
return ((HtmlForm)curr); 
} 
} 
return null; 
} 
+1

원하는 유형 _ 페이지 이름, 페이지 제목 또는 기타 사항을 선택하십시오. 또한 이름, 페이지 및 마스터 페이지에 대해 이야기하고 있지만 표시하는 방법은 'HtmlForm'을 반환합니다. 완전히 불명확하다. –

+0

마스터 페이지가 있고 그 안에 aspx 페이지가 있습니다. redered HTML에서 양식 이름을 가져 오려고합니다. – user3661300

답변

0

그래서 당신은 당신도 인수를 필요로하지 않는이 정적 인 방법을 사용할 수는 currrent 페이지의 HtmlForm을 얻으려면 :

string currentFormName = GetHtmlForm().Name;