ジョブをアーカイブするために使用される小さなWebフォームがあります。ユーザーはジョブ番号をテキストボックスに入力し、ジョブを入札している顧客をドロップダウンで埋めなければなりません。また、ユーザーは、ジョブが勝ったか紛失したか、重複したジョブかを選択します。その後、フォームが送信され、SQLデータベースが更新されます。私は見つけることができませんし、テキストボックスに基づいてドロップダウンリストを設定する例。私が見つけたすべての例は、ドロップダウンに基づいてテキストボックスに値を設定しています。C#を使用してaspテキストボックスのテキストに基づいて、SQLデータベースのデータをaspドロップダウンリストに入力するにはどうすればよいですか?
<div class="container">
<h2>Job Archive Form</h2>
<div class="form-group">
<asp:Label ID="lblJobNumber" runat="server">Job Number</asp:Label><br />
<asp:TextBox ID="archiveJobNumber" runat="server" AutoPostBack="True" OnTextChanged="archiveJobNumber_TextChanged"/>
</div>
<div class="form-group">
<asp:Label ID="lblJobStatus" runat="server">Job Status</asp:Label><br />
<asp:DropDownList ID="archiveJobStatus" runat="server">
<asp:ListItem value="">--Select--</asp:ListItem>
<asp:ListItem value="1">Active</asp:ListItem>
<asp:ListItem value="2">Won</asp:ListItem>
<asp:ListItem value="3">Lose</asp:ListItem>
<asp:ListItem value="4">Duplicate</asp:ListItem>
</asp:DropDownList>
</div>
<div class="form-group">
<asp:Label ID="lblCustomer" runat="server">Customer</asp:Label><br />
<asp:DropDownList ID="archiveCustomer" runat="server" DataSourceID="archiveSqlDSCustomer" DataTextField="Name" DataValueField="CustID" AutoPostBack="True"></asp:DropDownList>
</div>
<asp:Button ID="submit" runat="server" Text="Submit" OnClick="submit_Click"></asp:Button>
</div>
背後にあるコード:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Web.Security;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.SqlClient;
namespace JobsApp
{
public partial class Archive : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UID"] == null)
Response.Redirect(@"Account\Login.aspx");
}
protected void submit_Click(object sender, EventArgs e)
{
string constring = "";
constring = ConfigurationManager.ConnectionStrings["JobsConstr"].ToString();
SqlConnection con = new SqlConnection(constring);
con.Open();
SqlCommand cmd = new SqlCommand("usp_changeJobStanding", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter jobNumber = cmd.Parameters.Add("@jobNumber", SqlDbType.VarChar);
SqlParameter jobStanding = cmd.Parameters.Add("@jobStanding", SqlDbType.Int);
jobNumber.Value = archiveJobNumber.Text;
jobStanding.Value = archiveJobStatus.Text;
cmd.ExecuteNonQuery();
con.Close();
Response.Redirect("~/Archive.aspx");
}
protected void archiveJobNumber_TextChanged(object sender, EventArgs e)
{
archiveSqlDSCustomer.SelectCommand = "GetCustomerListByJobNumber";
archiveCustomer.DataSourceID = "archiveSqlDSCustomer";
}
}
}
テキストボックスの値に基づいてデータを取得しているようですが、ドロップダウンアイテムを作成する方法やデータをドロップダウンコントロールにバインドする方法がわかりません。 – Seano666
@ jaz1976 archiveSqlDSCustomerのコードを表示できますか? – Win
私はドロップダウンを構築する方法やデータをバインドする方法がわかりません。 ASP.Netは私には新しく、通常はノードで作業します。私は残したプログラマーからこれを継承しました。 – jaz1976