2010-03-12 2 views
0

asp.net이 RenderControl 메서드를 사용할 때 autopostback 속성이 true로 설정된 드롭 다운 목록을 렌더링하지 않는 이유에 대해 다소 혼란 스럽습니다.Asp.net RenderControl 메서드가 드롭 다운 목록에 대한 자동 포스트 백을 렌더링하지 않습니다.

Dim sw As New IO.StringWriter 
    Dim tw As New HtmlTextWriter(sw) 

    Dim table As New Table 

    table.Rows.Add(New TableRow) 
    Dim tr As TableRow = table.Rows(0) 

    tr.Cells.Add(New TableCell) 
    Dim tc As TableCell = tr.Cells(0) 

    Dim ddlMyValues As New DropDownList 
    ddlMyValues.ID = "ddl1" 

    ddlMyValues.Items.Add("Test1") 
    ddlMyValues.Items.Add("Test2") 
    ddlMyValues.Items.Add("Test3") 
    ddlMyValues.AutoPostBack = True 

    tc.Controls.Add(ddlMyValues) 
    table.RenderControl(tw) 

    Debug.WriteLine(sw.ToString) 

내 출력 onchange를 = 않고 드롭 다운리스트를 렌더링 "자바 스크립트 :에서는 setTimeout ('__ doPostBack (\ ddl1의 \'\ '\') ', 0)" 입니다 일반적으로 dropdownlist를 사용할 때 asp.net에 의해 생성됩니다.

해결 방법이 있습니까?

답변

0

그냥 추측 할 만하지만, 그것이 form 요소 내부에 없기 때문일 수 있습니다. 어쨌든 왜 이걸하고 싶니?

+0

안녕하세요 이안, 저는 다른 개발자가 만든 컨트롤로 작업하고 있으며,이 루틴을 통해 컨트롤 행을 만듭니다. 내가 달성 할 수없는 드롭 다운에 대한 유효성 검사를 추가하여 컨트롤을 확장했습니다! – Tanya

+0

끔찍한 혼란처럼 들립니다. HTML 출력을 동적으로 생성 할 필요가 없다면 왜 HTMLWriter를 사용하지 않고 컨트롤을 사용자 정의 컨트롤에 두지 않을까요? –

관련 문제