【发布时间】:2009-11-17 16:55:29
【问题描述】:
今天我花了整整三个小时尝试转换项目 MvcContrib.Samples.InputBuilders,包含在 MVC Contrib 中以使其与 Spark View Engine 一起工作,但到目前为止还无法这样做。
有人知道为什么这两个人不能相处吗?
我所做的更改
InputForm.spark:
<viewdata model="SampleInput" />
!{Html.InputForm()}
Global.asax.cs:
...
protected void Application_Start() {
RegisterRoutes(RouteTable.Routes);
InputBuilder.BootStrap();
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new SparkViewFactory());
}
Web.config:
...
<spark>
<compilation debug="true"/>
<pages automaticEncoding="true">
<namespaces>
<add namespace="System"/>
<add namespace="System.Collections.Generic"/>
<add namespace="System.Linq"/>
<add namespace="System.Web.Mvc"/>
<add namespace="System.Web.Mvc.Ajax"/>
<add namespace="System.Web.Mvc.Html"/>
<add namespace="System.Web.Routing"/>
<add namespace="MvcContrib.UI.InputBuilder"/>
<add namespace="MvcContrib.UI.InputBuilder.Views"/>
<add namespace="Web.Models"/>
</namespaces>
</pages>
</spark>
(我从示例项目中复制了最后三个命名空间。)
我遇到的错误
根据我在 Global.asax.cs 中设置 Spark/InputBuilder 的顺序,我得到两个不同的异常。
如果我先设置 InputBuilder,然后设置 Spark(代码如上所示):
错误 CS1061: 'System.Web.Mvc.HtmlHelper' 没有 包含“InputForm”的定义 并且没有扩展方法'InputForm' 接受类型的第一个参数 'System.Web.Mvc.HtmlHelper' 可能是 找到(您是否缺少使用 指令还是程序集引用?)
如果我先设置 Spark,然后是 InputBuilder:
视图“InputForm”或其主视图 找不到。下列 已搜索位置:
~/Views/Home/InputForm.aspx
~/Views/Shared/InputForm.aspx
~/Views/InputBuilders/InputForm.aspx
~/Views/Home/InputForm.ascx
~/Views/Shared/InputForm.ascx
【问题讨论】:
标签: asp.net-mvc spark-view-engine mvccontrib