Я только что перенес свой проект ASP.Net MVC из MVC 2.0 Preview 2 в бета-версию MVC 2.0, и мои вызовы Html.RenderAction прервались, потому что в бета-версии MVC 2.0 был представлен новый метод RenderAction.
В следующей строке:
<% Html.RenderAction("DisplayIMHandles", "UserProfile", new { userProfileId = Model.Id }); %>
Я получаю следующую ошибку:
Сообщение об ошибке компилятора: CS0121: The
вызов неоднозначен между следующими методами или свойствами:
System.Web.Mvc.Html.ChildActionExtensions.RenderAction (System.Web.Mvc.HtmlHelper,
строка, строка, объект) 'и
«Microsoft.Web.Mvc.ViewExtensions.RenderAction (System.Web.Mvc.HtmlHelper,
строка, строка, объект) '
Я могу решить проблему, заменив строку одной из следующих 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 }); %>
Какой из двух я должен использовать, в чем различия? Кроме того, есть ли способ решить проблему без записи всего пространства имен, как я имел обыкновение иметь это?
Заранее спасибо.