2013-02-19 2 views
1
나는 페이지의 생성에 관한 몇 가지 문제가 있었다

동적으로 내가 할 형식이없는 페이지를 호출 할 수 있도록 VerifyRenderingInServerForm 메서드를 재정의해야한다는 것을 알았지 만 ASPX 파일이 없기 때문에 어떻게 VerifyRenderingInServerForm을 재정의 할 수 있습니까?재정 VerifyRenderingInServerForm()는


PS : 나는 관련 질문이와 나는 서로 다른 질문이지만 솔루션이 같은 problema로 이동하기 때문에, 무엇을 해야할지하지 않습니다, 나는 마지막 솔루션 포기 - 참조 : Form is Null in Dynamically created Pages

유사
public partial class MyCustomPage : System.Web.UI.Page 
{ 
    public override void VerifyRenderingInServerForm(Control control) 
    {   
    } 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     var p = new MyCustomPage(); 
     FormAtt uc = (FormAtt)p.LoadControl("path/to/my/file.ascx"); 
     p.Controls.Add(uc); 
    } 
} 
+1

이미 'VerifyRenderingInServerForm'을 (를) 재정의 한 사용자 정의'Page'를 만들려고 할 수 있습니다. 그런 다음'p = New Page();'대신에'p = New MyCustomPage();'. –

답변

3

이미 VerifyRenderingInServerForm을 재정의하는 사용자 정의 클래스를 사용하려고 할 수 있습니다. 먼저 HtmlForm을 추가해야합니다. ASP.Net은 페이지에 제어 기능을 추가하기 위해 양식 태그가 필요합니다.

Page myPage = new Page(); 
HtmlForm form = new HtmlForm(); 
FormAtt ctrl = (FormAtt)myPage.LoadControl("path/to/my/file.ascx"); 
form.Controls.Add(ctrl); 
myPage.Controls.Add(form); 
+0

이 방법이 가장 좋은 방법이라고 생각합니다. 새 방법을 사용하지 않으려 고 노력했습니다. 왜냐하면이 방법이 내 방법에만 사용되기 때문입니다. – Jonathan

1

이전 질문 :

+0

이 방법도 효과가 있었지만 결과 HTML에는 양식이 포함되어 필요하지 않았습니다. – Jonathan