ASP.NETアプリケーションで作業していて、DropDownListがSqlDataReaderを使用してデータベースからデータを表示していません。以下は私のasp.netのWebフォームのコード...以下DropDownListとOnSelectedIndexChangedがSqlDataReaderを使用してデータを表示しない
<p>
<span class="label">
<asp:Label ID="Label1" runat="server" Text="Document Number" Font-Size="Small" Font-Bold="True"></asp:Label>
</span>
<asp:TextBox ID="numb" runat="server" Width="176px" ReadOnly="true"></asp:TextBox>
<br />
<br />
<span class="label">
<asp:Label ID="Label2" runat="server" Text="Title" Font-Size="Small" Font-Bold="True"></asp:Label>
</span>
<asp:TextBox ID="TextBox1" runat="server" Width="176px"></asp:TextBox><br/>
<br />
<span class="label">
<asp:Label ID="Label3" runat="server" Text="Author" Font-Size="Small" Font-Bold="True"></asp:Label>
</span>
<asp:TextBox ID="TextBox2" runat="server" Width="176px"></asp:TextBox><br/>
<br />
<span class="label">
<asp:Label ID="Label4" runat="server" Text="Account Name" Font-Size="Small" Font-Bold="true"></asp:Label>
</span>
<asp:DropDownList ID="name" runat="server" AutoPostBack="true" OnSelectedIndexChanged="OnSelectedIndexChanged" AppendDataBoundItems="true">
<asp:ListItem Text="-SELECT-" Value="" />
</asp:DropDownList><br />
<br />
<span class="label">
<asp:Label ID="Label5" runat="server" Text="Account Code" Font-Size="Small" Font-Bold="true"></asp:Label>
</span>
<asp:DropDownList ID="code" runat="server" AutoPostBack="true"></asp:DropDownList><br />
<br />
<span class="label">
<asp:Label ID="Label6" runat="server" Text="Date" Font-Size="Small" Font-Bold="true"></asp:Label>
</span>
<asp:TextBox ID="date" runat="server" Width="176px" ReadOnly="true"></asp:TextBox><br />
<br />
<asp:Label ID="results" runat="server"></asp:Label>
</p>
そして、私のC#のコード私はコードテキストボックスを除くすべての私のテキストボックスは、データベースからのデータが移入されているページを実行してどのような
if (!IsPostBack)
{
string CS = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
using (SqlConnection conn = new SqlConnection(CS))
{
SqlCommand comm = new SqlCommand("SELECT Account_Name FROM Accounts", conn);
conn.Open();
name.DataSource = comm.ExecuteReader();
name.DataTextField = "Account_Name";
name.DataValueField = "Account_Name";
name.DataBind();
OnSelectedIndexChanged(sender, e);
}
date.Text = DateTime.Now.ToString("MM/dd/yyyy");
LoadDetails();
}
}
protected void OnSelectedIndexChanged(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
string account = "SELECT Account_Code FROM Accounts WHERE Account_Name = '" + name.Text + "'";
SqlCommand camd = new SqlCommand(account, con);
con.Open();
code.DataSource = camd.ExecuteReader();
code.DataTextField = "Account_Code";
code.DataValueField = "Account_Code";
code.DataBind();
con.Close();
}
private void LoadDetails()
{
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString))
{
string docNo = Session["doc"].ToString();
string query = "SELECT * FROM [pubs].[dbo].[ReportDocumentNo] WHERE DocumentNo = @docNo;";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.AddWithValue("@docNo", docNo);
con.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
numb.Text = rdr["DocumentNo"].ToString();
TextBox1.Text = rdr["Title"].ToString();
TextBox2.Text = rdr["Author"].ToString();
name.Text = rdr["AccName"].ToString();
code.Text = rdr["AccCode"].ToString();
}
}
}
}
されています。 コードテキストボックスにデータを表示させるには何が欠けていますか? aspxページで
まず、 'code'" textbox "を持っていないようです'code'"ドロップダウンリスト "を表示します。何かエラーがありますか? 'code'ドロップダウンリストにデータが入っていますか?私はそれが1行または0行のデータを持つと期待します。 – tgolisch
** asp:DropDownList> **これは私のコードドロップダウンリストで、** code.Text = rdr ["AccCode"]。ToString(); **しかし、データベースから読み取っているデータは表示されません –
Inno