Jak ustawić stronę startową do debugowania w aplikacji ASP.NET MVC?

Odpowiedzi:

218

Przejdź do właściwości swojego projektu i ustaw właściwość strony początkowej.

  1. Idź do projektu Properties
  2. Przejdź do zakładki Sieć
  3. Wybierz konkretną stronę przycisk radiowy
  4. Wpisz żądany adres URL w polu tekstowym Określona strona
Mark Seemann
źródło
1
@ Mark- tutaj jest dobry link, który opisuje proces bardziej szczegółowo - stephenwalther.com/blog/archive/2008/07/10/… . Umieściłbym to w twojej odpowiedzi.
RichardOD
22
+1 Pamiętaj, aby wpisać go w kroku 4. Wybranie przycisku [...] spowoduje utworzenie fałszywego adresu URL: D
P.Brian.Mackey
10
Jeśli tylko testujesz i pracujesz z domyślnym szablonem projektu MVC w VS.NET 2010, po prostu wyczyść dowolną wartość strony początkowej, a następnie debuguj projekt. Spowoduje to przejście do głównego komunikatu „Witamy w ASP.NET MVC!” strona.
atconway
3
Oprócz powyższych kroków musisz również upewnić się, że poprawnie wybrałeś projekt startowy (nie wystarczy ustawić domyślną stronę, jeśli masz wiele projektów). Kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań i ustaw go jako projekt startowy. Nazwa projektu zostanie pogrubiona w drzewie rozwiązania.
Jazimov
3
@ Zaznacz w kroku 4 możesz pozostawić pole tekstowe puste i upewnić się, że przycisk opcji Określona strona jest zaznaczony, a debugowanie rozpocznie się w katalogu głównym aplikacji.
amraby
23

Chociaż możesz mieć domyślną stronę w projekcie MVC, bardziej konwencjonalną implementacją dla widoku domyślnego byłoby użycie domyślnego kontrolera, zaimplementowanego w global.asax, za pomocą metody „RegisterRoutes (...)”. Na przykład, jeśli chcesz, aby kontroler Public \ Home był domyślną trasą / widokiem, kod wyglądałby tak:

    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
        );

    }

Aby to działało, musisz mieć ustawioną stronę początkową w projekcie.

1c1cle
źródło
Wow ... To faktycznie działa NAWET po opublikowaniu na serwerze (co nie dotyczy zaakceptowanej odpowiedzi, przynajmniej nie dla mnie), więc to jest dobra odpowiedź
Antoine Pelletier
10

To działa dla mnie w ramach określonej strony dla MVC:

/Home/Index

Aktualizacja: obecnie używam tylko ukośnika w polu tekstowym „Określona strona” i przenosi mnie do strony głównej zdefiniowanej w routingu:

/
Greg Gum
źródło
Ładna prosta odpowiedź. Ale uwaga - jeśli wprowadziłeś coś podobnego do adresu URL początkowego, nadal otrzymasz komunikat o nieprawidłowym adresie URL (nawet jeśli nie jest on obecnie zaznaczony). Więc wybierz Start URL, usuń z niego tekst, a następnie ustaw właściwość Określona strona na ścieżkę względną, jak powyżej.
Andy Brown
7

Wybranie określonej strony we właściwościach projektu nie rozwiązuje mojego problemu.

W MVC 4 otwórz App_Start / RouteConfig.cs

Na przykład, jeśli chcesz zmienić stronę startową na Login :

routes.MapRoute(
        "Default", // Route name
        "",        // URL with parameters
        new { controller = "Account", action = "Login"}  // Parameter defaults
    );
cihadakt
źródło
1

Jeśli chcesz rozpocząć od "katalogu głównego aplikacji", jak to opisujesz, kliknij prawym przyciskiem myszy na stronie Default.aspx najwyższego poziomu i wybierz ustaw jako stronę startową. Naciśnij F5 i gotowe.

Jeśli chcesz rozpocząć od innej akcji kontrolera, zobacz odpowiedź Marka.

RichardOD
źródło
1
Czy to działa w przypadku MVC? U mnie próbuje uruchomić stronę ASPX i nie kieruje.
Robaticus
1

Ponownie odwiedzając tę ​​stronę, mam więcej informacji, którymi mogę się podzielić z innymi.

Środowisko debugowania (przy użyciu programu Visual Studio)

1a) Łącze Stephena Waltera do ustawiania strony startowej w MVC przy użyciu właściwości projektu ma zastosowanie tylko podczas debugowania aplikacji MVC.

1b) Kliknij prawym przyciskiem myszy stronę .aspx w Eksploratorze rozwiązań i wybierz opcję „Ustaw jako stronę początkową”, która zachowuje się tak samo.

Uwaga: w obu powyższych przypadkach ustawienie strony startowej jest rozpoznawane tylko przez serwer Visual Studio Development Server. Nie jest rozpoznawany przez wdrożony serwer.

Wdrożone środowisko

2a) Aby ustawić stronę startową, zakładając, że nie zmieniłeś żadnego z domyślnych tras, zmień zawartość /Views/Home/Index.aspx, aby wykonać „Server.Transfer” lub „Response.Redirect” na żądany strona.

2b) Zmień domyślną trasę w swoim global.asax.cs na wybraną stronę.

Czy są jakieś inne opcje, o których wiedzą czytelnicy? Które z powyższych rozwiązań (w tym Twoja własna opcja) byłoby Twoim preferowanym rozwiązaniem (i podziel się z nami, dlaczego)?

Syd
źródło