我是Linq的新手,并尝试了解如何将下拉列表绑定到SQL用户定义的函数。
//Populate the Pledge dropdown
var db = new App_Data.MyDBDataContext();
int? partnerID = Convert.ToInt32(Request.QueryString["PartnerID"]);
var pledges =
from p in db.ufn_AvailablePledgesByPartner(partnerID)
select new
{
PledgeAndPartnerName = p.PledgeAndPartnerName,
PledgeID = p.PledgeID
};
DropDownList ddlPledgeID = (DropDownList)DetailsViewContribution.FindControl("DropDownListPledgeID");
ddlPledgeID.DataSource = pledges;
ddlPledgeID.DataTextField = pledges.PledgeAndPartnerName;
ddlPledgeID.DataValueField = pledges.PledgeID;
当前的问题是我试图引用匿名类的属性的最后两行。 “'System.Linq.IQueryable'不包含'PledgeAndPartnerName'的定义,也没有扩展方法...”我天真地认为编译器应该弄清楚这一点,但显然我认为C#现在比它更具动态性真的是。
感谢您的任何意见。
答案 0 :(得分:0)
试试这个:
ddlPledgeID.DataTextField = "PledgeAndPartnerName";
ddlPledgeID.DataValueField = "PledgeID";