私はddlを入力しようとしています(これは機能します)。「FirstName」を選択すると、編集用にテキストボックスが入力されます。プログラムをステップ実行すると、(drp_Customer.SelectedItem.Value) は常に「23」であり、これは DB の最後の「Id」です。フィールドにはデータが取り込まれますが、23 の詳細が含まれています。
ddl の詳細が一致していることを確認する必要があると考えています。
これが私のコードです。それがどのように機能するかを誰かに見せようとしているので、それは大まかなことです.
using (CustomerDataContext obj = new CustomerDataContext())
{
// Get fields for drp_Customer
// ===========================
var allCustomers = from c in obj.Customers
orderby c.FirstName
select new
{
c.FirstName,
c.CustomerId
};
foreach (var item in allCustomers)
{
drp_Customer.Items.Add(item.FirstName);
drp_Customer.SelectedItem.Value = item.CustomerId.ToString();
}
drp_Customer.DataBind();
if (drp_Customer.SelectedItem.Text == " -- Select Customer -- ")
{
lbl_message.Text = "Please select a customer to update";
}
else if (drp_Customer.SelectedItem.Text != " -- Select Customer -- ")
{
Customer myCust = obj.Customers.SingleOrDefault(c => c.CustomerId == Convert.ToInt32
(drp_Customer.SelectedItem.Value));
if (myCust != null)
{
txt_FirstName.Text = myCust.FirstName;
txt_Surname.Text = myCust.Surname;
txt_HouseNumber.Text = myCust.HouseNumberName;
txt_Address.Text = myCust.Address;
txt_Town.Text = myCust.Town;
txt_Telephone.Text = myCust.Telephone;
txt_Postcode.Text = myCust.Postcode;
}
}