programing

면도기 뷰에서 .css 파일을 참조하는 방법은 무엇입니까?

minimums 2023. 10. 30. 20:52
반응형

면도기 뷰에서 .css 파일을 참조하는 방법은 무엇입니까?

_Layout.cshtml 파일에 .css 파일을 설정하는 방법은 알고 있지만, 스타일시트를 뷰 단위로 적용하는 것은 어떨까요?

제 생각은 _Layout.cshtml에서 당신은<head>태그는 사용할 수 있지만 layout가 아닌 보기에서는 사용할 수 없습니다.어디에.<link>꼬리표는?

전체 사이트 중에서 재사용되는 CSS에 대해서는 에 정의합니다.<head>의 절_Layout:

<head>
    <link href="@Url.Content("~/Styles/main.css")" rel="stylesheet" type="text/css" />
    @RenderSection("Styles", false)
</head>

뷰 특정 스타일이 필요한 경우 정의합니다.Styles각 뷰의 섹션:

@section Styles {
    <link href="@Url.Content("~/Styles/view_specific_style.css")" rel="stylesheet" type="text/css" />
}

편집: @RenderSection의 두 번째 매개 변수 false는 이 마스터 페이지를 사용하는 뷰에서 섹션이 필요하지 않음을 의미하며, 뷰 엔진은 뷰에 정의된 "스타일" 섹션이 없다는 사실을 완벽하게 무시합니다.참인 경우, "스타일" 섹션이 정의되지 않은 경우 보기가 렌더링되지 않고 오류가 발생합니다.

다음과 같은 블록을 추가하려고 했습니다.

@section styles{
    <link rel="Stylesheet" href="@Href("~/Content/MyStyles.css")" />
}

그리고 _Layout.cshtml 파일의 해당 블록:

<head>
<title>@ViewBag.Title</title>
@RenderSection("styles", false);
</head>

효과가 있네요!하지만 더 좋은 방법이 있다고 생각하지 않을 수 없습니다.업데이트: 에 "false"를 추가했습니다.@RenderSection당신이 a를 추가하는 것을 게을리 할 때 당신의 뷰가 터지지 않도록 진술.@section불렀다head.

사용.

@Scripts.Render("~/scripts/myScript.js")

아니면

@Styles.Render("~/styles/myStylesheet.css")

당신을 위해 일할 수 있습니다.

https://stackoverflow.com/a/36157950/2924015

레이아웃은 마스터 페이지와 동일하게 작동합니다.레이아웃에 있는 모든 CSS 참조, 모든 하위 페이지가 가질 것입니다.

스콧 구는 여기에 훌륭한 설명을 가지고 있습니다.

클라이언트 종속성 dll의 razor html 도우미를 사용합니다.

Html.RequireCss("yourfile", 9999); // 9999 is loading priority 

이 구조는 _Layout.cshtml 파일에서 사용할 수 있습니다.

<link href="~/YourCssFolder/YourCssStyle.css" rel="stylesheet" type="text/css" />

언급URL : https://stackoverflow.com/questions/5021552/how-to-reference-a-css-file-on-a-razor-view

반응형