最近、ASP.Net MVC プロジェクトを MVC 2.0 Preview 2 から MVC 2.0 Beta に移行したところ、MVC 2.0 Beta で新しい RenderAction メソッドが導入されたため、Html.RenderAction への呼び出しが壊れました。
次の行で:
<% Html.RenderAction("DisplayIMHandles", "UserProfile", new { userProfileId = Model.Id }); %>
次のエラーが表示されます。
コンパイラ エラー メッセージ: CS0121: 次のメソッドまたはプロパティの間で呼び出しがあいまいです:
「System.Web.Mvc.Html.ChildActionExtensions.RenderAction(System.Web.Mvc.HtmlHelper, string, string, object)」および「Microsoft.Web.Mvc.ViewExtensions.RenderAction(System.Web.Mvc.HtmlHelper, string,文字列、オブジェクト)'
行を次の 2 つの選択肢のいずれかに置き換えることで、問題を解決できます。
<% Microsoft.Web.Mvc.ViewExtensions.RenderAction
(this.Html, "DisplayIMHandles", "UserProfile", new { userProfileId = Model.Id }); %>
また
<% System.Web.Mvc.Html.ChildActionExtensions.RenderAction
(this.Html, "DisplayIMHandles", "UserProfile", new { userProfileId = Model.Id }); %>
どちらを使用する必要がありますか?違いは何ですか? また、以前のように、名前空間全体を書き込まずに問題を解決する方法はありますか?
前もって感謝します。