ActionLink在调用时抛出了奇怪的异常

时间:2011-10-31 19:15:12

标签: asp.net asp.net-mvc asp.net-mvc-3

我遇到了以下问题: 我有一个主要的简单页面,我想测试一个控制器动作。控制器位于另一个项目中,但在我的MVC项目和Web.config命名空间区域中引用。

简单的页面就是这样:

  <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<%@ Import Namespace="Controllers.MyControllers" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <div>
        <%=Html.ActionLink("Persons", "SearchPersons","Person")%>
    </div>
</body>
</html>

PersonController 有一个方法SearchPersons,它返回一个View。 PersonController 在名称空间 Controllers.MyControllers 中的控制器项目中定义。 加载简单页面时,它会在我的Html.ActionLink调用中抛出以下异常:

{"Object reference not set to an instance of an object."}   at System.Web.Mvc.Html.LinkExtensions.ActionLink(HtmlHelper htmlHelper, String linkText, String actionName, String controllerName, RouteValueDictionary routeValues, IDictionary`2 htmlAttributes)
   at System.Web.Mvc.Html.LinkExtensions.ActionLink(HtmlHelper htmlHelper, String linkText, String actionName, String controllerName)
   at ASP.default_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in d:\Projects\MVC\Default.aspx:line 12


at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
   at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
   at System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer)
   at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
   at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
   at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

有人能指出我正确的方向吗?哪个项目实际上是空的?这是一个引用问题(考虑在另一个项目中)?

提前致谢, Tamash

1 个答案:

答案 0 :(得分:0)

此错误与您声明控制器的位置无关。我的假设是你有一个路由巫婆声明一个不是可选的参数,也没有默认值。