Ответ 1
Компилятор не может выбрать правильный метод, потому что ваша модель dynamic
. Измените вызов на:
<% Html.RenderPartial("ProjectName", (int)(Model.Id)); %>
Или любой другой идентификатор типа данных.
Я пытаюсь использовать Html.RenderPartial в файле acsx и я получаю сообщение об ошибке:
Сообщение об ошибке компилятора: CS1973: 'System.Web.Mvc.HtmlHelper' не имеет применимого метода с именем "RenderPartial", но, похоже, имеет метод расширения с помощью этого имени. Методы расширения не могут быть динамически посланный. Подумайте о том, как использовать динамические аргументы или вызвать метод расширения без синтаксиса метода расширения
<a href="/projects/<%=project.Id %>">
<% Html.Label("fdf"); %>
<% Html.RenderPartial("ProjectName", Model.Id); %></a></li>
<%} %>
Однако я импортирую необходимые пространства имен, поэтому это не будет ошибкой в
<% Html.Label("fdf"); %>
Существуют ли какие-либо методы использования Html.RenderPartial в файле ascx?
Компилятор не может выбрать правильный метод, потому что ваша модель dynamic
. Измените вызов на:
<% Html.RenderPartial("ProjectName", (int)(Model.Id)); %>
Или любой другой идентификатор типа данных.
Если кто-то другой совершил ту же ошибку, я сделал:
@Model MyViewModel
Это будет рассматривать вашу модель как динамическую
@Model MyViewModel
Это правильно строго типизированное представление. Обратите внимание на отсутствие капитализации!
Обратите внимание, что это Razor, в отличие от исходного вопроса.
Единственный способ, которым я мог пройти, например. IEnumerable должен был создать локальную переменную и передать ее.
Например
@{
IEnumerable<Demo.Models.Friend> friends = Model.Friends;
Html.RenderPartial("_FriendsList", friends);
}
Html.RenderPartial("_FriendsList", (IEnumerable<Demo.Models.Friends>)(Model.Friends));
не работает!