2010-06-26 5 views
0

Je suis nouveau à Linq et essaye de comprendre comment lier une liste déroulante à une fonction définie par l'utilisateur SQL.Linq-to-SQL avec une fonction UDF définie par l'utilisateur définie par une table

  //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; 

Le problème actuel est les 2 dernières lignes où j'essaie de référencer les propriétés de la classe anonyme. "'System.Linq.IQueryable' ne contient pas de définition pour 'PledgeAndPartnerName' et pas de méthode d'extension ..." Je pensais naïvement que le compilateur était censé comprendre cela, mais je suppose que C# est maintenant plus dynamique que ça c'est vrai.

Merci pour toute contribution.

Répondre

0

Essayez ceci:

ddlPledgeID.DataTextField = "PledgeAndPartnerName"; 
ddlPledgeID.DataValueField = "PledgeID"; 
+0

Merci. J'ai fini par implémenter votre suggestion, mais dans le balisage. – Will

Questions connexes