Tôi đang tạo biến thành viên Danh sách trong sự kiện Page_Init của mình. Tôi gặp sự cố khi tham chiếu các đối tượng trong danh sách từ mã C# được nhúng của tôi trong trang * .aspx. Lỗi là một ngoại lệ Runtime Binder cho biết "đối tượng" không chứa định nghĩa cho 'JobID' ".Không thể tham chiếu các đối tượng động trong mã ASPX nhúng
Khi trình gỡ rối được gọi, tôi có thể thấy rằng biến vòng lặp foreach j thực sự có một thuộc tính động có tên là JobID và nó được điền bằng một giá trị int. Vì vậy, câu hỏi của tôi là tại sao mã C# được nhúng của tôi không thể làm việc với đối tượng động. Có một tuyên bố <% @ Nhập%> mà tôi cần phải làm việc với các đối tượng động không? Tôi đã thử thêm <% @ Import namespace = "System.Dynamic"%> nhưng điều đó không giúp ích gì.
Cảm ơn sự giúp đỡ. Đánh dấu
Mã Đằng sau:
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>
Tôi đang gặp khó khăn tương tự với mã nhúng nơi mã của tôi trả về một số điện thoại IE2 có thể là. Nó xuất hiện một nơi nào đó năng động của tôi đang được chuyển đổi sang một đối tượng hoặc một cái gì đó. @sisdog, ngay cả khi bạn sửa đổi foreach của bạn để trông giống như <% foreach (dynamic j trong JobList)%> nó dường như không hoạt động. –
kd7iwp
Trong khi không phải là câu trả lời cho lý do tại sao nó không hoạt động, bạn có thể viết lại mã của bạn để sử dụng DataBinder.Eval sẽ sử dụng sự phản chiếu để lấy thuộc tính JobID. – Tony