Chcę połączyć określony arkusz stylów w niektórych widokach oprócz tego, co już jest połączone w _Layout.cshtml. W przypadku osób innych niż Razor widzę, że korzystam z właściciela miejsca treści. Jak mam to zrobić dla Razor?Jak mogę mieć specyficzne dla widoku treści <head> Korzystanie z Asp.Net MVC 3 i Razor?
Odpowiedz
Odpowiednikiem symboli zastępczych zawartości w maszynce Razor są sekcje.
W swojej _Layout.cshtml:
<head>
@RenderSection("Styles", required: false)
</head>
Następnie na stronie partnerskiej:
@section Styles {
<link href="@Url.Content("~/Content/StandardSize.css")" />
}
Alternatywnym rozwiązaniem byłoby umieścić swoje style w ViewBag/ViewData:
W twoim _Layout.cshtml:
<head>
@foreach(string style in ViewBag.Styles ?? new string[0]) {
<link href="@Url.Content(style)" />
}
</head>
A na stronie partnerskiej:
@{
ViewBag.Styles = new[] { "~/Content/StandardSize.css" };
}
To działa, ponieważ strona widok zostanie wykonany przed układem.
Zaskakująco (dla mnie) asp: ContentPlaceHolder działa. Wydaje się jednak bardzo niepoważny. Zastanawiam się, czy jest inny sposób?
Konkretnie, można umieścić w swoim _layout.cshtml <asp:ContentPlaceHolder ID="HeadContent" runat="server" />
i
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<link href="@Url.Content("~/Content/StandardSize.css")" rel="stylesheet" type="text/css" />
</asp:Content>
w widoku.
Wydaje się tylko, że to działa. Czy spojrzałeś na wygenerowany kod HTML? – marcind
Masz rację. Właśnie zobaczyłem, że style, które chciałem, zostały zastosowane, ale nie sprawdziłem kodu HTML. Zastanawiam się, jak przetwarzano znacznik serwera przy pomocy Razor. – JohnOpincar
- 1. Korzystanie z Microsoft.VisualBasic.Logging.FileLogTraceListener z ASP.NET MVC 3
- 2. Hosting ASP.NET MVC 3 Razor Engine Site
- 3. Asp.net Model MVC dla widoku i układu
- 4. ASP.NET MVC Razor Łączenie
- 5. ASP.NET MVC: Gdzie można utworzyć model widoku dla widoku?
- 6. Render częściowy widok z dynamicznym modelu w widoku Razor silnika i ASP.NET MVC 3
- 7. Jak wyświetlić kolekcję w widoku projektu ASP.NET MVC 4 Razor?
- 8. MVC 3 Razor PopUp Window
- 9. ASP.NET MVC Razor Główki i widoki dla każdej kolumny Dynamicznie
- 10. Jak edytować IEnumerable <T> z ASP.NET MVC 3?
- 11. ASP.NET MVC 3, jak robić motywy właściwe
- 12. ASP.NET MVC 3 _Layout.cshtml Kontroler
- 13. MVC 3 - Razor - wartość Drukuj z modelu
- 14. Jak zakodować '/' w ASP.NET MVC Razor
- 15. ASP.NET MVC C# Razor Minification
- 16. ASP.NET MVC 3 Viewmodel Pattern
- 17. MVC 3 ASPX VS RAZOR View Engine
- 18. Brzytwa ASP.NET MVC 3: przekazywanie danych z widoku do kontrolera
- 19. ASP.NET MVC 3 Beta 1 Blokuj dostęp do widoków Razor
- 20. Wyświetlanie przesłanego obrazu w MVC 3 Razor
- 21. Brzytwa ASP.NET MVC 3: Inicjowanie tablicy JavaScript
- 22. Korzystanie z HandleErrorAttribute w aplikacji ASP.NET MVC
- 23. Jak korzystać z ukrytych wartości pól z widoku do kontrolera w asp.net mvc 3
- 24. Model zawierający listę modeli (MVC-3, Razor)
- 25. Gdzie umieścić pliki JavaScript javascript specyficzne dla widoku w aplikacji ASP.NET MVC?
- 26. ASP.NET MVC 3 - Właściwość ViewBag nie zapewnia technologii IntelliSense
- 27. Uwierzytelnianie użytkowników ASP.NET MVC 3
- 28. Razor ASP.NET MVC, Html.BeginForm, używając instrukcji
- 29. Rendering kodu HTML za pomocą TagBuilder i ASP.NET MVC 4 (z silnikiem Razor)
- 30. Plan nauki dla ASP.NET MVC 3
Jest to również świetny sposób dodawania określonych odniesień do skryptu do głowy. – ReinierDG
Alternatywne rozwiązanie jest dobre dla osób, które nie przekonały swojego rozwiązania do korzystania z maszynki Razor. Dzięki! – Mayo