Як встановити сторінку запуску для налагодження в додатку ASP.NET MVC?


131

Як почати налагодження програми в корені програми? Наприклад: http: // localhost: 49742 /

Я завжди отримую сторінку, яка не існує, наприклад: http: // localhost: 49742 / Views / Home / About.aspx

Зауважте, що було б добре почати з http: // localhost: 49742 / Перегляди / Головна / Про


Відповіді:


218

Перейдіть до властивостей вашого проекту та встановіть властивість початкової сторінки.

  1. Перейдіть до Властивості проекту
  2. Перейдіть на вкладку Веб
  3. Виберіть перемикач на конкретній сторінці
  4. Введіть потрібний URL у текстовому полі " Конкретна сторінка "

1
@ Mark- ось хороше посилання, яке детальніше описує процес - stephenwalther.com/blog/archive/2008/07/10/… . Я б сказав це у вашій відповіді.
RichardOD

22
+1 Обов’язково введіть його на кроці 4. Якщо вибрати кнопку [...], ви створите помилкову URL-адресу: D
P.Brian.Mackey

10
Якщо ви просто тестуєте та працюєте з шаблоном проекту MVC за замовчуванням у VS.NET 2010, просто очистіть будь-яке значення для стартової сторінки, а потім налагодите проект. Це перенесе вас до головного "Ласкаво просимо на ASP.NET MVC!" сторінки.
atconway

3
Крім перерахованих вище кроків, вам також потрібно переконатися, що ви правильно вибрали запуск PROJECT (недостатньо для налаштування сторінки за замовчуванням, якщо у вас є кілька проектів). Клацніть правою кнопкою миші проект у Провіднику рішень та встановіть його як проект запуску. Після цього назва проекту буде виділено жирним шрифтом у дереві рішення.
Язимов

3
@ Позначення на кроці 4, ви можете залишити текстове поле порожнім і переконайтесь, що вибрана перемикач "конкретна сторінка", і вона почне налагоджувати у корені програми.
amraby

22

Хоча ви можете мати сторінку за замовчуванням у проекті MVC, більш звичайною реалізацією для перегляду за замовчуванням було б використання контролера за замовчуванням, впровадженого в global.asax, методом 'RegisterRoutes (...)'. Наприклад, якщо ви хочете, щоб ваш контролер Public \ Home був маршрутом / видом за замовчуванням, такий код буде:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Public", action = "Home", id = UrlParameter.Optional } // Parameter defaults
        );

    }

Щоб це було функціональним, вам потрібно мати в проекті встановлену стартову сторінку.


Нічого ... Це насправді працює НАДЕЗ після публікації на сервері (що не стосується прийнятої відповіді, принаймні, не для мене), тому це справді хороша відповідь
Антуан Пелтьє

10

Це працює для мене в розділі "Спеціальна сторінка для MVC":

/Home/Index

Оновлення: На даний момент я просто використовую косу косу рису в текстовому полі "Конкретна сторінка", і вона переносить мене на домашню сторінку, як визначено в маршрутизації:

/

Приємна проста відповідь. Але будьте обережні - якщо ви ввели щось подібне, як початкова URL-адреса, ви все одно отримаєте недійсне повідомлення URL-адреси (навіть якщо це наразі не вибрано). Отже, виберіть Початкову URL-адресу, видаліть текст у ній, ТОГО встановіть властивість конкретної сторінки на відносний шлях, як зазначено вище.
Енді Браун

7

Вибір певної сторінки із властивостей проекту не вирішує мою проблему.

У MVC 4 відкрийте App_Start / RouteConfig.cs

Наприклад, якщо ви хочете змінити сторінку запуску на логін :

routes.MapRoute(
        "Default", // Route name
        "",        // URL with parameters
        new { controller = "Account", action = "Login"}  // Parameter defaults
    );

1

Якщо ви хочете почати з "кореня програми", як ви описуєте, клацніть правою кнопкою миші на верхньому рівні сторінки Default.aspx і виберіть "Встановити як початкову сторінку". Натисніть F5 і закінчите.

Якщо ви хочете почати з іншої дії контролера, дивіться відповідь Марка.


1
Це працює для MVC? Для мене він намагається запустити сторінку ASPX і не рухається.
Робатикус

1

Переглянувши цю сторінку, і я маю більше інформації, щоб поділитися з іншими.

Налагодження середовища (за допомогою Visual Studio)

1a) Посилання Стівена Уолтера для встановлення сторінки запуску на MVC за допомогою властивостей проекту застосовується лише тоді, коли ви налагоджуєте додаток MVC.

1b) Клацніть правою клавішею миші на сторінці .aspx в Провіднику рішень та виберіть "Встановити як початкову сторінку" так само.

Примітка. В обох вищезазначених випадках налаштування сторінки запуску розпізнає лише Ваш сервер розвитку Visual Studio. Він не розпізнається розгорнутим сервером.

Розгорнуте середовище

2a) Щоб встановити сторінку запуску, припускаючи, що ви не змінили жодної маршрутизації за замовчуванням, змініть вміст /Views/Home/Index.aspx, щоб зробити "Server.Transfer" або "Response.Redirect" на потрібне сторінки.

2b) Змініть маршрутизацію за замовчуванням у вашому global.asax.cs на потрібну сторінку.

Чи є інші варіанти, про які читачі знають? Яке з перерахованих вище (включаючи ваш власний варіант) було б кращим рішенням (і, будь ласка, поділіться з нами чому)?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.