I create a List member variable during my Page_Init event. I had a problem with a link to the objects in the list from my embedded C # code on the * .aspx page. The error is a Buntime Binder Exception, which says that the "object" does not contain a definition for the "JobID".
When the debugger is called, I see that the foreach loop variable j really has a dynamic property called JobID and is populated with an int value. So my question is why my C # inline code cannot work with a dynamic object. Is there a <% @ Import%> statement that should work with dynamic objects? I tried adding <% @Import namespace = "System.Dynamic"%>, but that didn't help.
Thanks for the help. Mark
Code for:
using System; using System.Collections.Generic; using System.Linq; using Jobbarama.WebCode; using DataModel; public partial class contact : System.Web.UI.Page { public List<dynamic> JobList { get; set; } protected void Page_Init(object sender, EventArgs e) { SessionManager mgr = SessionManager.Current; using (myEntities context = new myEntities()) { var qry = from c in context.vjobList where c.CampaignID == mgr.CampaignID select new { c.JobID, c.JobTitle, c.CompanyName, c.InterestDate, c.InterestLevel }; JobList = qry.ToList<dynamic>(); } } } }
ASPX Code:
<select id='cboJob' name='cboJob' style='width: 150px;'> <%foreach (var j in JobList){ %> <option value="<%=j.JobID %>"><%=j.JobTitle%> [<%=j.CompanyName%>]</option> <%} %> </select>
sisdog
source share