ActionLink генерирует странное исключение при вызове - PullRequest
0 голосов
/ 31 октября 2011

Мне попалась следующая проблема: У меня есть главная простая страница, на которой я хочу протестировать действие контроллера. Контроллер находится в другом проекте, но на него ссылаются в моем проекте 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 в пространстве имен 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)

Может ли кто-нибудь указать мне правильное направление? Какой элемент на самом деле является нулевым? Это проблема ссылок (учитывая, что в другом проекте)?

Заранее спасибо, Тамаш

1 Ответ

0 голосов
/ 31 октября 2011

Эта ошибка не связана с тем, где вы объявляете свои контроллеры.Я предполагаю, что у вас есть маршрут, который объявляет параметр, который не является обязательным, и не имеет значения по умолчанию.

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