0

我刚刚遇到了使用MVC 2 Beta的Spark的AreaDescriptionFilter问题。SparkViewEngine,RenderAction和带有ASP MVC 2 Beta的区域?

以下行来自我的Application.spark文件。它会导致视图引擎查看视图的所有可能位置 - 除了“Shell”区域的文件夹之外。

# Html.RenderAction("ShowMainMenu", "Navigation", new { area = "Shell" });

运行使用http://localhost/Shell/Navigation/ShowMainMenu同样的动作执行罚款,并承认该地区的视图目录预期。

任何想法如何解决这一问题?

回答

1

Spark和一些渲染方法存在一个已知的错误。您是否尝试直接从其源代码库中获取最新版本的Spark?

+0

感谢您的提示 - 我看着它,可惜这不是那么简单。 星火试图找到使用面积: context.RouteData.Values.TryGetValue(“区域”,超时值) 正确的参数出现在一些根据上下文的IsChildAction财产以下字典: 上下文。 RouteData.DataTokens context.RequestContext.RouteData.DataTokens context.RequestContext.RouteData.Values ......问题是,框架应该在哪里将它们默认放在Actions&ChildActions(缺陷)旁边? 我会尝试使用“if”现在进行quickfixing ... – scooby37 2009-12-09 08:49:22

0

它需要一些代码被修改,但它是一个相对简单的解决办法: 阅读answer to a similar question here.

+0

谢谢 - 我没有看到这篇文章 - 但它似乎只是一个地方开始寻找我的情况 - 细节见下文... – scooby37 2009-12-09 08:51:00

0

是不是有一个不匹配的情况下?相反,面积=

Html.RenderAction("ShowMainMenu", "Navigation", new { area = "Shell" }); 

你应该有面积=

Html.RenderAction("ShowMainMenu", "Navigation", new { Area = "Shell" }); 
+0

其实它应该是小写。所有参数,如“控制器”,“行动”和“ID”按照惯例小写。 问题是MVC2和SparkViewEngine的预览版本之间存在某种冲突 - 现在它工作的很好! – scooby37 2010-05-25 09:41:53