Asp.Net MVC2 Ошибка в поле зрения - PullRequest
0 голосов
/ 17 сентября 2010

Я новичок в MVC и следил за книгой по фреймворку ASP.Net Mvc 2 Steven Andersons Pro, но столкнулся со следующей проблемой.

Следующая строка кода, которая находится на моем сайте.следующая ошибка:

<% Html.RenderAction("Menu", "Nav"); %>

{"Ошибка выполнения дочернего запроса для обработчика" System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper '. "}

Кажется, проблема в моем частичном представлениипытается отобразить результат вышеприведенного кода.

Фактическая ошибка, которая выводится в браузере, выглядит следующим образом:

Не удалось загрузить тип System.Web.Mvc.ViewUserControl<IEnumerable<WebUI.Models.NavLink>>.

мое частичное представление состоит из следующего:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<WebUI.Models.NavLink>>" %>
<%foreach (var link in Model) { %>
<%: Html.RouteLink(link.Text, link.RouteValues }%>

Кажется, что для модели недоступен IntelliSense.

Я знаю, что это как-то связано с наследованием, но япроверил пространство имен, и это, кажется, правильно.

Любая помощь по этому вопросу будет принята с благодарностью.

Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 20 февраля 2011

Я работаю над книгой Сандерсона, и у меня возникла та же проблема. Решение заключается в том, что файл называется NavLink.cs, а меню наследуется от NavLinks. Исправьте ссылку или переименуйте файл, и все работает.

Интересная проблема, которая вызывает один вопрос: как вы определили из сообщения об ошибке, что это была проблема пространства имен? Граф Б.

0 голосов
/ 08 января 2014

Я также нашел первоначальную идею помещения классов в один файл. NavController.cs также создает эту ошибку.

Разделение классов на 3 файла. NavController.cs NavLink.cs CategoryLink.cs

Все с тем же пространством имен пространства имен WebUI.Controllers

и это должно решить проблему

0 голосов
/ 19 сентября 2010

Я получил примеры Андерсона, работающие из первого издания этой книги. Одна вещь, которую я заметил, заключается в том, что мой NavLink определен в Controllers / NavController.cs и имеет пространство имен WebUI.Controllers, а не WebUI.Models (таким образом, тип IEnumerable . Ошибка, о которой вы сообщаете, безусловно, звучит как проблема с пространством имен ...

РЕДАКТИРОВАТЬ: Одна вещь, которую я нашел, которая помогла мне устранить эти примеры, это загрузить его исходный код и использовать инструмент сравнения файлов, чтобы сравнить его версию с моей, когда я столкнулся с проблемой, которую я просто не смог понять.

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