2009-02-16 12 views
18

इस कोड की अंतिम दो पंक्तियां सही तरीके से काम नहीं करती हैं - परिणाम LINQ क्वेरी से वापस आ रहे हैं।LINQ डेटा को ड्रॉपडाउन सूची में कैसे बाध्य करें

protected void BindMarketCodes() 
    { 
     List<lkpMarketCode> mcodesList = new List<lkpMarketCode>(); 

     LINQOmniDataContext db = new LINQOmniDataContext(); 

     var mcodes = from p in db.lkpMarketCodes 
         orderby 0 
         select p; 

     mcodesList = mcodes.ToList<lkpMarketCode>(); 

     //bind to Country COde droplist 
     dd2.DataSource = mcodesList; 
     dd2.DataTextField = mcodesList[0].marketName; 
     dd2.DataValueField = mcodesList[0].marketCodeID.ToString(); 

    } 

उत्तर

28

नीचे

protected void BindMarketCodes() 
{  
    using (var dataContext = new LINQOmniDataContext()) { 
     //bind to Country COde droplist 
     dd2.DataSource = from p in dataContext.lkpMarketCodes 
      orderby p.marketName 
      select new {p.marketCodeID, p.marketName}; 
     dd2.DataTextField = "marketName"; 
     dd2.DataValueField = "marketCodeID"; 
     dd2.DataBind(); 
    } 
} 
+0

तरह से शांत संशोधित कोड देखें: मैं सिर्फ यकीन है कि कैसे सफलतापूर्वक पाठ फ़ील्ड और dropdownlist के valuefield के लिए परिणामों में संकेत कॉलम बाध्य करने के लिए नहीं कर रहा हूँ , महान काम करता है, thx! – alchemical

+2

इसे तब तक काम नहीं कर सका जब तक मैंने dd2.DataBind() जोड़ा नहीं; जैसा कि #Andrew_Robinson – openshac

33
protected void BindMarketCodes() 
{ 
    using(var dc = new LINQOmniDataContext()) 
    { 
     dd2.DataSource = from p in db.lkpMarketCodes 
         orderby 0 
         select new {p.marketName, p.marketCodeID }; 
     dd2.DataTextField = "marketName"; 
     dd2.DataValueField = "marketCodeID"; 
     dd2.DataBind(); 
    } 
} 

// no need to use ToList() 
// no need to use a temp list; 
// using an anonymous type will limit the columns in your resulting SQL select 
// make sure to wrap in a using block; 
+1

द्वारा सुझाए गए अनुसार इसे जोड़ने के लिए धन्यवाद। आपके द्वारा उल्लिखित कारणों के लिए, मैं आपके दृष्टिकोण को बेहतर पसंद करता हूं। –

+0

इस तरह से dd2 में विशेषताओं को जोड़ने के लिए कैसे? – mmssaann

+0

आप इसे किसी संदर्भ में कैसे संदर्भित करेंगे? मैं इस सटीक मुद्दे को हल करने का एक तरीका ढूंढ रहा हूं। –

-3
DropDownList ddl_RouteLocation = (DropDownList)e.Row.FindControl("ddl_RouteLocation"); 

ddl_RouteLocation.DataSource = dtLocation;--(dtlocation i have return method of linq in dtlocation) 
ddl_RouteLocation.DataTextField =dtLocation.Rows[0]"LocationName"].ToString(); 
ddl_RouteLocation.DataValueField =dtLocation.Rows[0]["LocationId"].ToString(); 
ddl_RouteLocation.DataBind(); 
ddl_RouteLocation.Items.Insert(0, new ListItem("--Select--", "0")); 
+0

यह समाधान बहुत जटिल है और इसे और अधिक आसान महसूस किया जा सकता है - एंडलेर द्वारा उत्तर देखें –

संबंधित मुद्दे