1

我正在使用 ASP.NET MVC 4。

我在这里实现了解决方案,它对 Html.ActionLink 非常有效。但是,当我使用 Html.Action 或 Html.RenderAction 时,它不起作用。我得到错误:

找不到路径“/Demarrer”的控制器或未实现 IController。

重现步骤:

  1. 从上面的网站下载示例代码。LocalizedRouteExample.zip (23.23 kb)
  2. 添加一个新的控制器SetupController和相应的 View。
  3. 在首页添加:

<%= Html.ActionLink("Setup", "Index", "Setup") %>

<% Html.RenderAction("Index", "Setup"); %>

. 4. 在 Global.asax 第 30 行添加:

new RouteValueTranslation(cultureFR, "Setup", "Installation")

.

public class SetupController : Controller
{
    public ActionResult Index()
    {
        return PartialView();
    }
}

视图/设置/Index.ascx:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<strong>This is SETUP</strong>


 

5) 现在切换到法语并跳回主页。

我知道它,因为它找不到控制器。我应该将什么传递给此 RenderAction 方法以使其工作?


 

4

1 回答 1

0

对于 RenderAction,此处介绍了使用“ViewContext.RequestContext.RouteData.DataTokens”的解决方案:

ASP.NET (MVC) 路由国际化

于 2012-12-01T14:55:50.030 回答