我正在使用ASP.NET MVC 2和SparkViewEngine 1.1,并且我收到错误消息对象引用对于非静态字段,方法或财产“Spark.Web.Mvc.SparkView.Url.get”当我用下面的代码Application.spark视图文件SparkViewEngine:在全局变量中使用Url.Content在Application.Spark中
<global baseImagePath='Url.Content(Context,"~/Content/_images")' type="string" />
我试图完成基本上是定义一个基础映像路径一个可以在页面模板中引用的全局变量。
例如,在主页/ Index.spark,它使用主Application.spark,我将有以下代码片段在视图
<a href="..."><img src="${baseImagePath}" alt="..." /></a>
作为一种变通方法,我可以设置一个硬编码值,当我设置baseImagePath做<global baseImagePath='"~/Content/_images"' type="string" />
,但我也希望能够解决“〜”之前。
有什么建议吗?
谢谢!
编辑 我在这里每罗布的建议
在共享/ _global.spark加入我的解决方案,我添加<use namespace="System.Web" />
让我有机会获得System.Web命名空间。
在共享/ Application.spark,我添加
<global baseImagePath='VirtualPathUtility.ToAbsolute("~/Content/_images")' type="string" />
谢谢!使用VirtualPathUtility.ToAbsolute方法做到了。 – Abe 2011-01-06 19:11:39