Desidero collegare un foglio di stile specifico in determinate viste oltre a ciò che viene già collegato in _Layout.cshtml. Per i non-Razor, vedo usare il content place place. Come lo farei per Razor?Come è possibile avere un contenuto specifico per la vista <head> utilizzando Asp.Net MVC 3 e Razor?
Come è possibile avere un contenuto specifico per la vista <head> utilizzando Asp.Net MVC 3 e Razor?
risposta
L'equivalente di segnaposto contenuto in Rasoio sono sezioni.
Nel vostro _Layout.cshtml:
<head>
@RenderSection("Styles", required: false)
</head>
Poi, nel tuo pagina di contenuto:
@section Styles {
<link href="@Url.Content("~/Content/StandardSize.css")" />
}
Una soluzione alternativa sarebbe quella di mettere gli stili in ViewBag/Viewdata:
Nel tuo _Layout.cshtml:
<head>
@foreach(string style in ViewBag.Styles ?? new string[0]) {
<link href="@Url.Content(style)" />
}
</head>
E nella tua pagina di contenuto:
@{
ViewBag.Styles = new[] { "~/Content/StandardSize.css" };
}
Questo funziona perché la pagina di visualizzazione viene eseguito prima del layout.
Sorprendentemente (per me), asp: ContentPlaceHolder funziona. Sembra molto spiacevole però. Mi chiedo se c'è un altro modo?
In particolare, si mette <asp:ContentPlaceHolder ID="HeadContent" runat="server" />
nel vostro _layout.cshtml e
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<link href="@Url.Content("~/Content/StandardSize.css")" rel="stylesheet" type="text/css" />
</asp:Content>
nella vista.
Ti sembra solo che funzioni. Hai guardato l'HTML generato? – marcind
Hai ragione. Ho appena visto che sono stati applicati gli stili che volevo ma non ho controllato l'HTML. Mi stavo chiedendo come veniva elaborato un tag del server con Razor. – JohnOpincar
- 1. ASP.NET MVC È possibile avere un'interfaccia come modello in vista?
- 2. ASP.NET MVC 3 Razor Performance
- 3. ASP.NET MVC 3 Razor View Restrictions
- 4. ASP.Net MVC 3 Razor Concatenate String
- 5. Hosting ASP.NET MVC 3 Razor Engine Site
- 6. ASP.NET MVC 3 utilizzando l'autenticazione
- 7. Utilizzando Razor senza MVC
- 8. Differenza tra MVC 3 Pagina parziale (Razor) e MVC 3 Visualizza la pagina con Layout (Razor)?
- 9. abilitare la convalida cliente in vista Razor (ASP MVC 3)
- 10. Render vista parziale con il modello dinamico Razor motore di visualizzazione e ASP.NET MVC 3
- 11. ASP.NET MVC Razor concatenazione
- 12. Come creare ed EditorFor FileUpload in asp.net mvc 3 razor?
- 13. come codificare '/' in ASP.NET MVC Razor
- 14. Errore server nell'applicazione '/' in ASP.NET MVC 3 con motore Razor
- 15. asp.net mvc razor - come uscire da C#
- 16. ASP.NET MVC 3: RouteExistingFiles = true sembra non avere alcun effetto
- 17. mvc 4 - web.config transforms è possibile avere 3 o più
- 18. Sezione rendering dalla vista parziale utilizzando il motore Razor View in MVC 3
- 19. Rendering codice html utilizzando TagBuilder e ASP.NET MVC 4 (con il motore Razor)
- 20. Azione controller ASP.NET MVC 3 per vista parziale
- 21. Escaping citazione singola da un MVC 3 Razor Visualizza variabile
- 22. ASP.NET MVC Razor intestazioni e Vista per ogni colonna in modo dinamico
- 23. ASP.NET MVC 3 _Layout.cshtml Controller
- 24. Come posso creare un controllo "generico" in Asp.Net MVC Razor?
- 25. Come collegare la griglia Kendo in asp.net MVC 4 Razor
- 26. asp.net vista mvc e typeded viewdata
- 27. ASP.NET MVC 3 - ViewModel Best Practice
- 28. Razor Helper in MVC 3 RC
- 29. utilizzando SquishIt in ASP.NET MVC 3
- 30. Non in grado di applicare allineamento dei controlli in vista MVC Razor utilizzando Bootstrap 3
Questo è anche un ottimo modo per aggiungere riferimenti di script specifici alla vista. – ReinierDG
La soluzione alternativa è buona per le persone che non hanno ancora convertito la loro soluzione per utilizzare Razor. Grazie! – Mayo