asp.net-mvc – 使用asp.net mvc 2功能与火花浏览引擎
我正在使用一个最初从 CodeBetter.Canvas项目开始的ASP.NET MVC项目,我正在尝试移动到ASP.NET MVC 2.我使用 Eilon’s upgrade tool成功升级了我的项目,移到了VS2010(尽管还没到. NET 4). 目前我遇到的问题只发生在使用火花浏览引擎时.这是View.spark(强类型)中相关的代码位: ${Html.EditorFor(e => e)} 如果我使用.aspx视图,相同的代码可以正常工作: <%= Html.EditorFor(e => e) %> 这里的“EditorFor”主要是ASP.NET MVC 2中的新功能,在我的项目中,我可以在ASPX视图中使用该助手,但不能使用Spark视图. 我试过upgrading Spark to use MVC 2(以及MvcContrib和Ninject),也许这是其中之一,但是到目前为止还没有运气 – 我仍然看到同样的行为. 这是从Spark的BatchCompiler类中抛出的完整错误消息.
以下是我的Global.asax中的Spark相关代码: var settings = new SparkSettings() .AddNamespace("System") .AddNamespace("System.Collections.Generic") .AddNamespace("System.Web.Mvc") .AddNamespace("System.Web.Mvc.Html") .AddNamespace("MvcContrib.FluentHtml") .AddNamespace("CodeBetter.Canvas") .AddNamespace("CodeBetter.Canvas.Web") .SetPageBaseType("ApplicationViewPage") .SetAutomaticEncoding(true); #if DEBUG settings.SetDebug(true); #endif var viewFactory = new SparkViewFactory(settings); ViewEngines.Engines.Add(viewFactory); 此外,我在我的火花视图中引用了System.Web.Mvc.Html,如in another SO answer所述. <use namespace="System.Web.Mvc.Html" /> 解决方法基本的问题是项目中的某个地方仍然引用1.0.0版的程序集.使用reflector检查每个程序集的依赖关系,我发现(如果您从CodeBetter.Canvas项目开始),有三个依赖项目需要更新以使用2.0.0版本的system.web.mvc.dll 火花下载最新版本 现在,在项目中替换这些依赖项的程序集,并在必要时更新项目引用.一切都应该好 (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – SSL握手问题? (当时:网页挂起,只清除浏览
- asp.net-mvc – MVC 5:Asp.net身份:如何建模UserRole
- 在ASP.NET MVC中动态地从数据库生成CSS文件
- asp.net – FF和IE不从CSS加载img src
- asp.net-mvc-3 – 如何避免使用MVC3 FileContentResult重复
- Asp.Net 5分钟实现网页实时监控
- asp.net类序列化生成xml文件实例详解
- asp.net – 将web应用程序的项目编译成dll
- asp.net – Umbraco CMS(.NET):加载xslt /用户控件的日志错
- webforms – ASP.Net Core 1.0是否支持WebForm项目
- asp.net – 在MVC3或IIS 7.5中禁用x-frame-optio
- asp.net-mvc – 如何检查是否为浏览器启用了cook
- asp.net中一个linq分页实现代码
- 如何设置特定于ASP.NET请求的log4net上下文属性?
- 如何在ASP.NET中的GridView中定义CellPadding
- asp.net – 如何在页面加载时以“添加新”模式进
- 在asp.net中使用eval(“”)
- asp.net – 在SQL Server中将日期转换为刻度
- asp.net-mvc-3 – 使用@ Html.Raw有风险吗?
- asp-classic – 如何使用Microsoft.XMLHTTP指定代