Come si imposta la pagina di avvio per il debug in un'applicazione MVC ASP.NET?


Risposte:


218

Vai alle proprietà del tuo progetto e imposta la proprietà della pagina iniziale.

  1. Vai del progetto Proprietà
  2. Vai alla scheda Web
  3. Seleziona il pulsante di opzione Pagina specifica
  4. Digitare l'URL desiderato nella casella di testo Pagina specifica

1
@ Mark- ecco un buon link che descrive il processo in modo più dettagliato- stephenwalther.com/blog/archive/2008/07/10/… . Lo metterei nella tua risposta.
RichardOD,

22
+1 Assicurati di digitarlo al passaggio 4. Selezionando con il pulsante [...] si creerà un URL falso: D
P.Brian.Mackey

10
Se stai solo testando e lavorando con il modello di progetto MVC predefinito in VS.NET 2010, cancella qualsiasi valore per la pagina iniziale e quindi esegui il debug del tuo progetto. Questo ti porterà al principale "Benvenuto in ASP.NET MVC!" pagina.
atconway

3
Oltre ai passaggi precedenti, devi anche assicurarti di aver selezionato correttamente il PROGETTO di avvio (non è sufficiente impostare la pagina predefinita se hai più progetti). Fare clic con il pulsante destro del mouse su Project in Solution Explorer e impostarlo come progetto di avvio. Il nome del progetto verrà quindi in grassetto nell'albero della soluzione.
Jazimov

3
@ Mark- al passaggio 4 è possibile lasciare vuota la casella di testo e assicurarsi che il pulsante di opzione Pagina specifica sia selezionato e inizierà il debug dalla radice dell'applicazione.
amraby,

22

Sebbene sia possibile avere una pagina predefinita nel progetto MVC, l'implementazione più convenzionale per una vista predefinita sarebbe l'uso di un controller predefinito, implementato in global.asax, attraverso il metodo 'RegisterRoutes (...)'. Ad esempio, se si desidera che il controller Public \ Home sia la route / vista predefinita, il codice sarebbe:

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

    }

Affinché ciò sia funzionale, è necessario disporre di una Pagina iniziale impostata nel progetto.


Caspita ... Questo funziona effettivamente ANCHE dopo la pubblicazione su un server (che non è il caso della risposta accettata, almeno, non per me), quindi questa è la vera risposta
Antoine Pelletier,

10

Questo funziona per me nella pagina specifica per MVC:

/Home/Index

Aggiornamento: Attualmente, utilizzo semplicemente una barra nella casella di testo "Pagina specifica" e mi porta alla home page come definito nel routing:

/

Bella semplice risposta. Ma attenzione: se hai inserito qualcosa di simile all'URL iniziale, otterrai comunque un messaggio URL non valido (anche se questo non è attualmente selezionato). Quindi selezionare Start URL, eliminare il testo al suo interno, quindi impostare la proprietà Pagina specifica sul percorso relativo come sopra.
Andy Brown,

7

La selezione di una pagina specifica dalle proprietà del Progetto non risolve il mio problema.

In MVC 4 apri App_Start / RouteConfig.cs

Ad esempio, se si desidera modificare la pagina di avvio in Accesso :

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

1

Se si desidera iniziare dalla "radice dell'applicazione" come descritto, fare clic con il tasto destro sulla pagina Default.aspx di livello superiore e scegliere imposta come pagina iniziale. Premi F5 e il gioco è fatto.

Se vuoi iniziare con un'azione del controller diversa, vedi la risposta di Mark.


1
Funziona con MVC? Per me, tenta di avviare la pagina ASPX e non esegue il routing.
Robaticus,

1

Rivisitando questa pagina e ho più informazioni da condividere con gli altri.

Ambiente di debug (usando Visual Studio)

1a) Il collegamento di Stephen Walter per impostare la pagina di avvio su MVC utilizzando le proprietà del progetto è applicabile solo durante il debug dell'applicazione MVC.

1b) Fare clic con il tasto destro del mouse sulla pagina .aspx in Esplora soluzioni e selezionare "Imposta come pagina iniziale" si comporta allo stesso modo.

Nota: in entrambi i casi precedenti, l'impostazione della pagina di avvio viene riconosciuta solo dal server di sviluppo di Visual Studio. Non è riconosciuto dal server distribuito.

Ambiente distribuito

2a) Per impostare la pagina di avvio, supponendo che non sia stato modificato alcun routing predefinito, modificare il contenuto di /Views/Home/Index.aspx per eseguire un "Server.Transfer" o un "Response.Redirect" come desiderato pagina.

2b) Modificare il routing predefinito in global.asax.cs sulla pagina desiderata.

Ci sono altre opzioni di cui i lettori sono a conoscenza? Quale delle precedenti (compresa la tua opzione) sarebbe la tua soluzione preferita (e per favore condividi con noi perché)?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.