Сломанный RenderPartial после обновления до ASP.NET MVC2 - PullRequest
2 голосов
/ 29 марта 2010

Я обновил проект MVC1 до MVC2, теперь все мои вызовы RenderPartial выбрасывают

System.ArgumentNullException: Value cannot be null.

Однако это работает:

<% Html.RenderPartial("~/Views/Shared/LogOnUserControl.ascx"); %>

А это не так (работает в MVC1):

<% Html.RenderPartial("LogOnUserControl"); %>

Изменилось ли поведение RenderPartial?

Ответы [ 2 ]

3 голосов
/ 30 марта 2010

Bleh .... обнаружил проблему, мой проект ссылался на MVCContrib 1.0, скачал последнюю сборку и ссылался, что вместо этого исправил проблему.

1 голос
/ 30 марта 2010

Ваш звонок на

<% Html.RenderPartial("LogOnUserControl"); %> 

, кажется, работает нормально, иначе вы бы получили

The partial view 'LogOnUserControl' was not found. The following locations were searched....

Учитывая, что

Когда Html.RenderPartial () вызывается только с именем частичного представления, ASP.NET MVC передает частичному представлению те же объекты словаря Model и ViewData, которые используются шаблоном вызывающего представления.

и

ArgumentNullException генерируется, когда метод вызывается, и хотя бы один из переданных аргументов является нулевым.

Похоже, что аргументы аутентификации не передаются должным образом в LogOnUserControl или, может быть, вы каким-то образом настроили его?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...