編集:これは明らかに私のサイトの大幅に簡略化されたバージョンです。テストアプリを作成すると、このパターンでうまくいきます。実際のアプリケーションではT4MVCを使用していますが、これはすべて地域内にあります。私はこれらの要因の1つが私の問題を引き起こしていると推測しています...Razorで入れ子になったHtml.Action呼び出し
EDIT2:すべてのデフォルトルートが定義されていて、/ AreaName/ControllerName/SubChild?val = 123に直接ナビゲートするとレンダリングされます。
私はMVCとの特有の問題があり、誰かが私はその後、3つのかみそりの景色を眺めることができ、次のアクションメソッド
public ActionResult Index()
{
return View(GetModel());
}
public ActionResult Result Child(string blah)
{
return View(GetModel(blah));
}
public ActionResult Result SubChild(int val)
{
return View(GetModel(val));
}
とコントローラを持っている...
を助けることができる期待しています。
Index.cshtml
<div>
@Html.Action("Child", new { blah = "raaa"})
</div>
Child.cshtml
<div>
@*ERROR HERE*@
@Html.Action("SubChild", new { val = 123})
</div>
SubChild.cshtml
<h1>@Model.val</h1>
私が移動すると/私は 「Noルートというスローされた例外を取得します提供された値と一致します。 SubChildアクションを呼び出すHtml.Actionで
これはすべて同じエリア内にあり、同じコントローラ内にあります。マークアップを変更し、子ビューへの呼び出しにHtml.Partialを使用し(モデルを構築してビューに渡す)、それは問題なくレンダリングされます。この問題は、すでにHtml.Actionを使用してレンダリングされているビュー内でHtml.Actionを呼び出すと発生します。
/area/controller/actionを使用してアクションを完全に修飾しようとしましたが、Html.Actionコールでコントローラを指定し、そのエリアをパラメータとしてルート値に渡し、これらのすべてを組み合わせました。
これはどういう考えですか?私はそれを使用してレンダリングされているビューでHtml.Actionを呼び出すことができると仮定しています。私は間違っているかもしれないと思います...