我正在使用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