我有一个建立在ASP.NET MVC2 RC2上的大型现有应用程序.
我的所有链接如下所示:htp // site / controller / action / id
现在当我在BigBird区域时,我的所有链接如下所示:htp:// site / BigBird / controller / action / id
问题是我的新区域中没有这些控制器/操作.所以我必须遍历我所有的应用程序中的所有actionlink,并把这个routevalue:area = string.empty
有没有办法解决?
解决方法
如果您使用标准的MVC方法(除了可能会覆盖他们调用自己的版本),但是如果您使用的是ActionLink< TController>,则不知道如何使用它.或者在MvcFutures lib中提供的其他通用方法,那么你可以.
MvcFutures方法调用ExpressionHelper.GetRouteValuesFromExpression(),它在控制器上查找一个ActionLinkAreaAttribute来确定该区域.所以您可以在主要“区域”中装饰您的控制器,如下所示:
[ActionLinkArea("")] [HandleError] public class HomeController : Controller { public ActionResult Index() { return View(); } }
<%= Html.ActionLink<HomeController>(c => c.Index(),"Home") %>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。