asp.net – 无法在嵌入式ASPX代码中引用动态对象
发布时间:2020-12-16 03:47:17 所属栏目:asp.Net 来源:网络整理
导读:我在Page_Init事件期间创建了一个List成员变量.我在* .aspx页面中从嵌入式C#代码引用列表中的对象时遇到问题.错误是运行时绑定程序异常,表示“’对象’不包含’JobID’的定义”. 调用调试器时,我可以看到foreach循环的变量j确实有一个名为JobID的动态属性,并
我在Page_Init事件期间创建了一个List成员变量.我在* .aspx页面中从嵌入式C#代码引用列表中的对象时遇到问题.错误是运行时绑定程序异常,表示“’对象’不包含’JobID’的定义”.
调用调试器时,我可以看到foreach循环的变量j确实有一个名为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> 解决方法
我猜这可能是一个权限问题,因为使用匿名类和aspx后期编译不同程序集中的东西.
您可以使用impromptu-interface来完成这项工作. using ImpromptuInterface 然后你创建一个接口(我使用动态,因为我不知道你的类型) interface ISelectJob dynamic JobID dynamic JobTitle dynamic CompanyName dynamic InterestDate dynamic InterestLevel } 您的属性应使用该界面 public List<ISelectJob> JobList { get; set; } 要创建列表,只需添加.AllActLike< ISelectJob>() JobList = qry.AllActLike<ISelectJob>().ToList(); 这应该可以工作,因为它生成一个轻量级的dlr代理,并将上下文设置为匿名类,因此它认为它始终具有访问权限,这与使用dynamic关键字调用不同. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .NET Core采用的全新配置系统[2]: 配置模型设计详解
- asp.net-mvc – DisplayFor忽略html属性的原因是什么?
- 资源解释为样式表,但在ASP.NET IIS中使用MIME类型的文本/ h
- asp.net – 实体框架“等待操作超时”就简单的DeleteAll
- 在对ASP.NET MVC Action的AJAX请求期间有网络请求超时时会发
- asp.net – 重构遗留的WebForms应用程序以更好地分离关注点
- asp.net-mvc-3 – 找不到视图’错误’或其主人
- asp.net-mvc – MVC 4 OAuth – NotImplementedException
- Asp.Net System.Web.Routing查找实际的.aspx页面
- asp.net – 使用“dnu publish”排除发布项目上的文件夹
推荐文章
站长推荐
热点阅读