0
ProductIDに基づいて2つのドロップダウンリストをバインドしようとしています。利用可能なサイズと利用可能な色があります。したがって、ユーザーがグレーを選択した場合、グレーのサイズのみが表示され、 。私は以下のlinqステートメントを以下のように試しています。明らかに、 "LINQ to Entities"は、System.String ToString()メソッドを認識しません。誰でも助言をお願いできますか?ありがとう。ネストされたlinq選択
if (!Page.IsPostBack)
{
using (CommerceEntities db = new CommerceEntities())
{
int tempNum; // ----> The ProductId
if (Int32.TryParse(litTypeSel.Text, out tempNum))
{
if ((ddlColor.SelectedValue == "") && (ddlSize.SelectedValue == ""))
{
ddlColor.DataSource = (from p in db.ProductTypes
where p.ProductID == tempNum && (p.Size == (from s in db.ProductTypes select s.Size).ToString())
orderby p.Color
select new { p.Color }).Distinct();
ddlColor.DataTextField = "Color";
ddlColor.DataBind();
ddlColor.Items.Insert(0, new ListItem("Select Color", "NA"));
ddlSize.DataSource = (from p in db.ProductTypes
where p.ProductID == tempNum && (p.Color == (from c in db.ProductTypes select c.Color).ToString())
orderby p.Size descending
select new { p.Size }).Distinct();
ddlSize.DataTextField = "Size";
ddlSize.DataBind();
ddlSize.Items.Insert(0, new ListItem("Select Size", "NA"));
}
}
}
}