我将MVC1项目升级到MVC2,现在我对RenderPartial的所有调用都在抛出
System.ArgumentNullException: Value cannot be null.
然而这确实有效:
<% Html.RenderPartial("~/Views/Shared/LogOnUserControl.ascx"); %>
这不适用(适用于MVC1):
<% Html.RenderPartial("LogOnUserControl"); %>
RenderPartial的行为是否发生了变化?
答案 0 :(得分:3)
Bleh ....发现了问题,我的项目引用了MVCContrib 1.0,下载了最新版本并引用了该问题而修复了问题。
答案 1 :(得分:1)
致电
<% Html.RenderPartial("LogOnUserControl"); %>
似乎工作正常,否则你会收到
The partial view 'LogOnUserControl' was not found. The following locations were searched....
考虑到
当使用部分视图的名称调用Html.RenderPartial()时,ASP.NET MVC会将调用视图模板使用的相同Model和ViewData字典对象传递给局部视图。
和
调用方法并且至少有一个传递的参数为null时,抛出ArgumentNullException。
似乎认证参数没有正确传递给LogOnUserControl,或者您可能已经在某种程度上对其进行了自定义?