2011-04-06 2 views
0

db에 연결하여 데이터를로드하는 클래스 파일에 함수를 작성하고 있습니다. 쿼리, asp.net 컨트롤 형식 및 제어 ID를 함수에 호출 할 때 해당 함수를 호출 할 때 컨트롤 형식을 기반으로 데이터를로드 할 수 있습니다 (여기서 각 컨트롤 형식에 대해 스위치 케이스를 작성합니다) . 이 같은 몇 가지 :어떻게 asp.net 서버 컨트롤 형식을 함수에 전달할 수 있습니까?

public static string LoadData(string qry, Controltype, controlId) 
{ 


string connstring = "......"; 
OleDbDataAdapter da = new OleDbDataAdapter 
DataTable dt = new DataTable(); 
OleDbConnection con = new OleDbConnection(connstring); 
con.Open(); 
da = new OleDbDataAdapter(qry, connstring); 
dt = new DataTable(); 
da.Fill(dt); 
switch(controltype) 
{ 
case DropDownList: 
     ...... 
     ...... 
break; 

case GridView: 
     ...... 
     ...... 
break; 
} 

아무도 말해 줄 수있는이 함수는 Controltype 및 controlId 전달할 수 있습니다.

protected void Page_Load(object sender, EventArgs e) 
{ 
    LoadData(ddlList, ddlList.ID); 
    LoadData(chkBxList, chkBxList.ID); 
} 

void LoadData(WebControl control, string id) 
{ 
    string typeName = control.GetType().Name; 
    switch (typeName) 
    { 
     case "DropDownList": 
       //do something here 
      break; 
     case "CheckBoxList": 
      //do something here 
      break; 
    } 
} 

나는이 하나 CheckBoxList 및 DropDownList로 내 HTML 코드에서 다음과 같이 :이 도움이

<asp:CheckBoxList ID="chkBxList" runat="server"> 
    </asp:CheckBoxList> 
    <asp:DropDownList ID="ddlList" runat="server"/> 

희망 ...

답변

1

는 당신이 그것을 할 수있는 방법입니다 이 코드 :

DropDownList Ll = new DropDownList(); 
Ll = (DropDownList)control; 
+0

안녕하세요, 이거 봐요. ms 일하고 있습니다. 하지만 작은 변화, 위의 함수 LoadData 별도의 클래스 파일에, 그래서 나는 컨트롤에 항목을 추가하는 문제에 직면하고있다. 나는 컨트롤을 써야 해 .Items.Add (list). 그러나 그것은 인텔리 센스를주지 않습니다. 목록에 항목을 추가하는 다른 방법을 알 수 있습니까? 아니면 항목을 추가 할 수없는 이유는 무엇입니까? 컨트롤이 드롭 다운 목록으로 정확하게 작동하지 않는다고 생각합니다. – hima

-1

시도를 여기

+0

OP의 문제와 관련이있는 것은 무엇입니까? –

관련 문제