Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не удаётся загрузить страницу приложения MVC, Ошибка сервера в приложении '/<name>'  
:(
    Опции темы
rigorMortis
Дата 1.5.2014, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.5.2014

Репутация: нет
Всего: нет



Привет
Подскажите плз кто знает, давно мучаюсь.
Создал простое asp.net веб-приложение MVC 4, опубликовал успешно на локальном IIS. При попытке загрузить страницу http://localhost/<name>/View/Home/Index.cshtml выдаёт ошибку:

Ошибка сервера в приложении '/<name>'

Описание: HTTP 404. Возможно, искомый ресурс (или один из зависимых от него компонентов) удален, получил другое имя или временно недоступен. Просмотрите следующий URL-адрес и проверьте, что он введен правильно. 

Кто знает чего делать с этим?

При этом обычный веб-сайт нормально грузится например по такому адресу:

http://localhost/website2/Default.aspx

VS 2010
Windows 7

Это сообщение отредактировал(а) rigorMortis - 1.5.2014, 17:48
PM MAIL   Вверх
Cheloveck
Дата 2.5.2014, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



ASP.NET MVC не может работать в Classic mode, надо переключить прилагу в пул с Integrated mode.
user posted image

user posted image


Это сообщение отредактировал(а) Cheloveck - 2.5.2014, 12:30


--------------------
user posted image
PM Jabber   Вверх
rigorMortis
Дата 4.5.2014, 01:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.5.2014

Репутация: нет
Всего: нет



Ну, вроде заработало. 

А такой вопрос: в контроллере есть метод 

        public ActionResult Index()
        {
            return View("~/Views/book/Index.cshtml");
        }

Представление Index.cshtml находится в папке ~/Views/book. При попытке загрузить страницу http://localhost/book/Index пишет:

Ошибка сервера в приложении '/'.
--------------------------------------------------------------------------------

Не удалось найти данный ресурс. 
Описание: HTTP 404. Возможно, искомый ресурс (или один из зависимых от него компонентов) удален, получил другое имя или временно недоступен. Просмотрите следующий URL-адрес и проверьте, что он введен правильно. 
Запрошенный URL: /book/Index


Страница успешно загружается только если она в папке ~/Views/ChangePassword. Как сделать чтобы представление загружалось по указанному во View пути?
PM MAIL   Вверх
Экскалупатор
Дата 4.5.2014, 03:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



надо изучить тему Routing, и соглашение про именование контроллеров, представлений и прочее.
в MVC нету пути к файлу в папке, путь ведет к методу контроллера, который в свою очередь вернет view(или не вернет, смотря что в нем будет прописано). 

Код

routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );


исходя из этого адресА должны быть вида: domen.com/books/index

books - это контроллер
index - метод контроллера

и не надо писать "View("~/Views/book/Index.cshtml");", по идее MVC попытается найти требуемое представление исходя из именования файлов и именования метода контроллера. можно создать стандартное MVC приложение в студии и там все разложено по папкам так как и должно быть.
т.е.
Код

    public class BookController : Controller
    {
        public ActionResult Index()
        {
            ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";

            return View();// <- именно так, без указания пути
        }
   }

в данном случае MVC будет искать представление с именем Index, в папке Book. (Views/Book/Index.chtml)
И если не найдет то будет искать в других местах(но это уже отдельная тема)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0410 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.