2013-03-21 2 views
1

데이터 세트에 드롭 다운을 바인드하는 다음 메소드를 작성했습니다. 프로젝트마다 다른 페이지에서이 메서드를 두 번 호출해야합니다. 그래서 클래스를 생성하고 그 안에 메소드를 넣으면 객체를 생성하여이 메소드에 액세스하려고합니다. 나는 새 클래스에서이 완전한 방법을 작성하는 경우 문제가 이렇게 ...함수에서 반환 된 데이터 세트에 드롭 다운 목록을 바인딩합니다.

public void bind() 
    { 
     DataSet ds1 = new DataSet(); 
     SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]); 
     con.Open(); 
     string strQuery = "SELECT CountryName + '(+' + CountryCode + ')' As CountryName,CountryCode from ACountry"; 
     SqlCommand cmd = new SqlCommand(strQuery, con); 
     using (SqlDataAdapter da = new SqlDataAdapter(cmd)) 
     da.Fill(ds1, "AUser"); 
     ddlCountryCode.DataSource = ds1.Tables["AUser"]; 
     ddlCountryCode.DataTextField = "CountryCode"; 

     //ddlCountryCode.SelectedValue = "India(+91)"; 
     ddlCountryCode.DataBind(); 
     ddlCountryCode.SelectedIndex = ddlCountryCode.Items.IndexOf(ddlCountryCode.Items.FindByText("India(+91)")); 
     con.Close(); 
    } 

데, 그것은 &는 그래서 오류가 발생합니다 거기에 사용되는 컨트롤 (드롭 다운리스트)를 인식하지 못합니다.

public void bindddl() 
    { 
     DataSet ds1 = new DataSet(); 
     SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]); 
     con.Open(); 
     string strQuery = "SELECT CountryName + '(+' + CountryCode + ')' As CountryName,CountryCode from ACountry"; 
     SqlCommand cmd = new SqlCommand(strQuery, con); 
     using (SqlDataAdapter da = new SqlDataAdapter(cmd)) 
     da.Fill(ds1, "AUser"); 

     con.Close(); 
    } 

지금이 내가 또 다른 형태 (.ASPX)의 드롭 다운 목록과 결합해야하는 데이터 집합을 반환 그래서 나는 단지 다음과 같은 부분을 포함했다. 어떻게해야합니까?

protected void Page_Load(object sender, EventArgs e) 
    { 
     Bind objbind = new Bind(); 
     ddlCountryCode.DataSource = objbind.---->?????????; 
     ddlCountryCode.DataTextField = "CountryCode"; 

     //ddlCountryCode.SelectedValue = "India(+91)"; 
     ddlCountryCode.DataBind(); 
     ddlCountryCode.SelectedIndex = ddlCountryCode.Items.IndexOf(ddlCountryCode.Items.FindByText("India(+91)")); 
    } 

또한 무엇을 할 수 있습니까? 여기에 더 좋은 옵션이 있습니까?

답변

1

public DataSet bindddl() 
    { 
     DataSet ds1 = new DataSet(); 
     SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]); 
     con.Open(); 
     string strQuery = "SELECT CountryName + '(+' + CountryCode + ')' As CountryName,CountryCode from ACountry"; 
     SqlCommand cmd = new SqlCommand(strQuery, con); 
     using (SqlDataAdapter da = new SqlDataAdapter(cmd)) 
     da.Fill(ds1, "AUser"); 

     con.Close(); 

     return ds1; 
    } 

그런 다음 아래에 할당 원하는대로에 함수 반환 데이터 집합은 다음을 지정합니다.

Bind objbind = new Bind(); 
ddlCountryCode.DataSource = objbind.bindddl().Tables["AUser"]; 
+0

데이터 형식 또는 네임 스페이스 데이터 집합을 찾을 수 없습니다. 어셈블리 참조 또는 지시문이 누락 되었습니까? ---> public Dataset bindddl() – adityawho

+0

@AdityaNawandar - System.Data를 사용하여 추가 했습니까? 수업의 맨 위에? – MuhammadHani

+0

예 ... 신경 쓰지 마세요, "데이터 세트"를 다시 입력하면 완료되었습니다. 감사합니다 ... (답변으로 표시) – adityawho

관련 문제