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 火花下载最新版本 现在,在项目中替换这些依赖项的程序集,并在必要时更新项目引用.一切都应该好 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 神控制器 – 如何防止它们?
- asp.net – 无法使用URL告知服务器显式查看json文件,告知Fi
- asp.net – 如何修复在IIS中运行的Web服务中的“请求格式无
- asp.net – TextBox或Html区域中的换行符
- asp.net-mvc-3 – MVC3,多文件上传,模型绑定
- asp.net-mvc – 根据浏览器接受语言自动设置uiCulture
- asp.net-mvc-3 – 为什么会话状态超时会覆盖我的MVC3应用程
- asp.net – 缓存在它应该到期之前到期
- asp.net-mvc – 怎么样?控制器返回任何/当前视图
- asp.net-mvc – 使用单元测试在asp.net mvc中验证重定向
- ASP.NET – 从客户端访问两次网页
- asp.net – 使用ASP:文本框作为
- asp.net-web-api – System.Web.Http.WebHost中的
- asp.net-mvc-3 – asp.net mvc,jquery mobile,ph
- .net – 具有流畅验证的Ninjects
- asp.net-membership – 黑客有可能解密ASP.NET会
- asp-classic – 经典ASP的好IDE?
- asp.net-mvc – Mocking HttpPostedFileBase和In
- asp.net – 如何将网页转换为图像?
- 如何将现有的ASP.NET应用程序升级到ASP.NET vNex