2017-03-08 8 views
0
protected void CompanyDropDown_Click(object sender, EventArgs e) 
{ 
    string connectionString = ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString; 
    using (SqlConnection cn = new SqlConnection(connectionString)) 
    { 
     SqlCommand cmd = new SqlCommand("[dropdownCompany]", cn); 
     cn.Open(); 
     CompanyDropDown.DataSource = cmd.ExecuteReader(); 
     CompanyDropDown.DataBind(); 
    } 
} 

ストアドプロシージャdropdownCompanyは、会社名のリストを含む1つの列です。C#ドロップダウンリストWebフォームASP.NET SQLは入力されません

ウェブフォームを実行するときに何らかの理由でドロップダウンが表示されません。

+0

実際にデータが返されているかどうかを確認するために、SQL Server Management Studioでストアドプロシージャを実行しようとしましたか? – maccettura

+0

ええ、ストアドプロシージャは、SQLサーバー管理スタジオ – RA19

答えて

1

にごSqlCommandオブジェクトのCommandTypeプロパティを設定する必要があります。

DataTextFieldおよびDataValueFieldは、ストアドプロシージャの実行後に取得する結果セットの列の名前にする必要があります。

ユーザーに表示されるフィールドをドロップダウンに指定する必要があります。これはあなたのDataTextFieldになります。

DataValueFieldは、ユーザーに表示されません。ドロップダウンで選択した項目に基づいて他の操作を実行しているときにこの値が必要になります。

CompanyDropDown.DataTextField = "Name"; 
CompanyDropDown.DataValueField = "ID"; 
CompanyDropDown.DataBind(); 
+0

はまだ – RA19

+0

を働いていない、これは私のSQLストアド・プロシージャで働いていません。個別の企業IDを選択 、会社 – RA19

+0

からの仕入は、あなたは 'companyname'と' companyid'に 'NAME'と' ID'からの値を変更しましたか? – maccettura

0

ドロップダウンのためDataTextFieldDataValueFieldを指定して、結合する前にCommandType.StoredProcedure

protected void CompanyDropDown_Click(object sender, EventArgs e) 
{ 
    string connectionString = ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString; 
    using (SqlConnection cn = new SqlConnection(connectionString)) 
    { 
     SqlCommand cmd = new SqlCommand("[dropdownCompany]", cn); 
     cmd.CommandType = CommandType.StoredProcedure; 
     cn.Open(); 
     CompanyDropDown.DataSource = cmd.ExecuteReader(); 
     CompanyDropDown.DataBind(); 
    } 
} 
+0

の結果を入力しました:私もこの行を追加しました: cmd.CommandType = CommandType.StoredProcedure; – RA19

+0

はまだ – RA19

関連する問題