2009-08-26 10 views
108

Come si avvia il debug dell'applicazione nella root dell'applicazione? Per esempio: http://localhost:49742/Come si imposta la pagina di avvio per il debug in un'applicazione ASP.NET MVC?

sto ottenendo sempre una pagina che non esiste, come ad esempio: http://localhost:49742/Views/Home/About.aspx

Nota che sarebbe stato OK per avviare a http://localhost:49742/Views/Home/About

+0

correlato: http://stackoverflow.com/questions/2821796/visual-studio-asp-net-mvc-undo-set-as-start-page-action – JNF

risposta

178

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

  1. Vai proprietà del progetto
  2. Vai alla scheda Web
  3. Selezionare il pagina specifica pulsante Radio
  4. digitare l'URL desiderato nella pagina specifica casella di di testo
+1

@ Marco- Vangelo: ecco un buon collegamento che descrive il processo in modo più dettagliato- http://stephenwalther.com/blog/archive/2008/07/10/asp-net-mvc-tip-17-how-to-run-an-asp-net- MVC-Application.aspx. Lo metterei nella tua risposta. – RichardOD

+19

+1 Assicurarsi di ** digitarlo ** al passaggio 4. Selezionando con il pulsante [...] verrà creato un URL fasullo: D –

+10

Se si sta solo testando e lavorando con il modello di progetto MVC predefinito in VS. NET 2010, basta * cancellare * qualsiasi valore per la pagina iniziale e quindi eseguire il debug del progetto. Questo ti porterà al principale "Benvenuto in ASP.NET MVC!" pagina. – atconway

1

Se si desidera inizia dalla "root dell'applicazione" mentre descrivi il tasto destro del mouse sulla pagina Default.aspx di livello superiore e scegli imposta come pagina iniziale. Premi F5 e il gioco è fatto.

Se si desidera avviare un'azione su un controller diverso, consultare la risposta di Mark.

+0

Funziona per MVC? Per quanto mi riguarda, tenta di avviare la pagina ASPX e non viene instradata. – Robaticus

0

Rivisitare questa pagina e avere ulteriori informazioni da condividere con gli altri.

ambiente di debug (utilizzando Visual Studio)

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

1b) Fare clic con il pulsante destro del mouse sulla pagina .aspx in Solution Explorer e selezionare "Imposta come pagina iniziale" allo stesso modo.

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

ambiente distribuito

2a) Per impostare la pagina di avvio, partendo dal presupposto che non si è modificare le rotte predefinite, modificare il contenuto di /Views/Home/Index.aspx di fare un "Server. Trasferisci "o" Response.Redirect "nella pagina desiderata.

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

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

18

Mentre è possibile avere una pagina predefinita nel progetto MVC, l'implementazione più convenzionale per una vista predefinita sarebbe quella di utilizzare un controller predefinito, implementato in global.asax, tramite i "RecordRoutes (...)' metodo. Per esempio se si voleva il controller Public \ casa per essere il percorso di default/vista, 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 
     ); 

    } 

Per questo per essere funzionale, che si sono tenuti ad avere dispone di un set pagina iniziale nel progetto.

5

Selezionare una pagina specifica dalle proprietà del progetto non risolve il mio problema.

In MVC 4 App_Start aperto/RouteConfig.cs

Per esempio, se si desidera modificare la pagina di avvio per Accesso:

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

Questo funziona per me sotto Pagina specifico per MVC:

/Home/Index 

Aggiornamento: attualmente, utilizzo solo una barra nella casella di testo "Pagina specifica" e mi porta alla pagina iniziale come definito nel Routing:

/ 
+0

Bella risposta semplice. Ma attenzione: se hai inserito qualcosa di simile come l'URL di avvio, riceverai comunque il messaggio URL non valido (anche se non è attualmente selezionato). Quindi seleziona Avvia URL, elimina il testo al suo interno, ALLORA imposta la proprietà Pagina specifica sul percorso relativo come sopra. –

Problemi correlati