1

ASP.NET MVC 4 を使用しています。

ここでソリューションを実装しましたが、Html.ActionLink でうまく機能します。ただし、Html.Action または Html.RenderAction を使用すると機能しません。エラーが発生します:

パス '/Demarrer' のコントローラーが見つからないか、IController を実装していません。

再現する手順:

  1. 上記サイトからサンプルコードをダウンロードしてください。LocalizedRouteExample.zip (23.23 kb)
  2. 新しいコントローラーのSetupControllerとそれぞれのビューを追加します。
  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 に答える