Я создаю переменную-член List во время моего события Page_Init. У меня проблема со ссылкой на объекты в списке из моего встроенного кода C # на странице * .aspx. Ошибка представляет собой исключение Runtime Binder Exception, в котором говорится, что «объект не содержит определения для JobID».
Когда вызывается отладчик, я вижу, что переменная j цикла foreach действительно имеет динамическое свойство с именем JobID. и он заполнен значением int. Итак, у меня вопрос: почему мой встроенный код C # не может работать с динамическим объектом. Есть ли оператор <% @ Import%>, который мне нужен для работы с динамическими объектами? Я пробовал добавить <% @ Import namespace = "System.Dynamic"%> Отметьте
код позади:
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:
<select id='cboJob' name='cboJob' style='width: 150px;'>
<%foreach (var j in JobList){ %>
<option value="<%=j.JobID %>"><%=j.JobTitle%> [<%=j.CompanyName%>]</option>
<%} %>
</select>