1

我已经引用了 Microsoft.Web.Mvc.dll(MVC Futures 2)和 MVCContrib.dll(来自 MVC Contrib 2),它们都是 Codeplex 的当前版本,并且我对 Controller 的强类型 RedirecToAction<>() 函数有疑问。

在我引用 Futures 2 之前,它运行良好。

这是编译时错误。显然,这个功能在两个程序集中都实现了。我该如何解决?

错误 1 ​​以下方法或属性之间的调用不明确:'Microsoft.Web.Mvc.ControllerExtensions.RedirectToAction(System.Web.Mvc.Controller, System.Linq.Expressions.Expression>)' 和 'MvcContrib.ControllerExtensions.RedirectToAction( System.Web.Mvc.Controller, System.Linq.Expressions.Expression>)'

4

2 回答 2

4

要完成 Lucero 的回答,
如果使用完全限定名称(不是很优雅)对您来说似乎是一个很大的缺点,您可以为命名空间设置一个较短的别名:

using MvcContrib;
using Future = Microsoft.Web.Mvc.ControllerExtensions; 

然后你可以写它 Future.RedirectToAction() 或者只是

RedirectToAction();

如果你想使用 MvcContrib 中的那个。

当然,如果您想主要使用期货程序集或使用 Contrib 的替代方案,您可以将其反转。

希望这可以帮助 :)

于 2010-04-08T22:03:21.430 回答
1

使用您要使用的完全限定名称,例如Microsoft.Web.Mvc.ControllerExtensions.RedirectToAction(),以便编译器知道您要调用哪个名称。

于 2010-04-08T21:56:27.743 回答