2010-12-11 20 views
7

Sto imparando un po 'di basic stuffs in razor. Sono un po 'confuso riguardo al file di estensione: viste e viste parziali sembrano condividere la stessa estensione cshtml. Ho pensato che fosse un errore per me, ma ho ricontrollato la casella di controllo, ottengo la stessa estensione per entrambi i tipi di file.Perché le viste e le viste parziali hanno la stessa estensione di file cshtml in Razor?

Inoltre, con motore di visualizzazione moduli elettronici, è più facile da individuare viste Di loro colori o/e le estensioni (View sono di colore bianco-aspx, parziale sono di colore giallo-ascx, master sono di colore bianco/blu-.Master)

Se è così che deve essere ora, perché le viste e le viste parziali condividono la stessa estensione? C'è qualche ragione per cui tutti hanno la stessa estensione?

Grazie per l'aiuto

risposta

8

vista rasoio e viste parziali non hanno bisogno di un'estensione di file separato perché entrambi utilizzano la stessa classe di base.

Al contrario, le pagine WebForms (ASPX), i controlli utente e le pagine master derivano tutte da diverse classi di base, motivo per cui la distinzione era necessaria. È semplicemente il risultato di decisioni di progettazione prese durante la creazione di Asp.Net WebForms.

+0

Che fanno sens. Ma, faranno in modo che differiscano dal colore dell'icona in Solution Explorer? Solo per far sì che le persone localizzino facilmente diversi tipi di file? Solo per rendere le cose più facili quando ci sono molti file nella stessa cartella. – Richard77

+2

@ Richard77 un modo semplice per fare la differenza sarebbe creare una convenzione di denominazione. Esempio: la tua pagina principale potrebbe essere '_Layout.cshtml' e le tue parziali potrebbero essere' ViewNamePartial.cshtml' –

+2

Poiché l'estensione è la stessa non c'è modo di distinguere tra i due ruoli di file. Una convenzione di denominazione è la migliore per tale scopo. – marcind

Problemi correlati