2017-12-28 27 views
0

새 뷰를 만들고 일부 사용자 지정 CSS를 추가하려고하므로 ClientDetails라는 컨텐트 폴더에 새 CSS 시트를 만들고 참조했습니다. 시트의 상단에 내가보기에 특정 CSS 시트를 추가하는 또 다른 스레드에서 읽을 :.NET - 레이아웃의 면도기 뷰에 여분의 스타일 시트 추가

System.Web.HttpException: The following sections have been defined but have not been rendered for the layout page "~/Views/Shared/_Layout.cshtml": "Styles".

비록 나는 경우 다음 @section 스타일로 그러나

@model Linkofy.Models.Client 

@{ 
ViewBag.Title = "Details"; 
} 

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

<h2>@Html.DisplayFor(model => model.clientN)</h2> 

내가이 오류 비트 @section 스타일 비트를 제거하면 제대로 작동하는지, 그 경우에만 시트가 아닌 레이아웃 CSS가 렌더링되어 있는지 궁금해. 그것이 무엇인가를 무시한다면? 디스플레이에 필요한 다른 모든 시트 위에 어떻게 추가합니까?

나는이 질문에 대한 링크를 제발 내가 그것을 닫을 것입니다 중복 감사하는 경우에 대한 답변을 둘러 보았습니다! 감사합니다!

+0

당신이'@RenderSection ("스타일", 거짓)을해야합니까 '레이아웃 파일 :

은 또한 당신은 레이아웃을 선언해야? 또한 스타일 시트를 묶어서 섹션에'Styles.Render ("[bundleName]")'을 사용해야합니다. – Bardicer

+0

@Bardicer이 시트를 추가하면 시트가 시트에서 레이아웃 파일의 연결을 끊을 지 모르겠다. – liamcook

답변

2

문제 :

Server Error in '/' Application. The following sections have been defined but have not been rendered for the layout page "~/Views/Shared/_Layout.cshtml": "Styles". Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Web.HttpException: The following sections have been defined but have not been rendered for the layout page "~/Views/Shared/_Layout.cshtml": "Styles".

해결 방법 : ~/조회에서

/공유/_Layout.cshtml이 부분을 렌더링 당신이 필요가있는 무엇을 하지이 요구되는 부분을 만들 것입니다 대한 https://msdn.microsoft.com/en-us/library/gg537886(v=vs.111).aspx를 참조

@RenderSection("Styles", required: false) 

사용 자세한 내용은.

@{ 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
    ViewBag.Title = "Details"; 
} 
+0

스타일에 대한 섹션을 만드는 대신 App_Start 폴더의 BundleConfig.cs에 모든 스타일을 추가하는 것이 좋습니다. –

+1

아! 알았어 !! 당신의 도움을 주셔서 감사합니다 – liamcook

0

이 오류가 발생하는 이유는 메시지에 설명되어 있습니다.

@RenderSection("Styles") 

당신이 그런 식으로 사용하면 기본적으로 필요한 것 : 당신은 아마 당신의 레이아웃 페이지에서이 같은 있습니다. 모든 페이지는 이 필요합니다.에는 추가 style 섹션이 있어야합니다. 그렇지 않으면 지금보고있는 오류가 발생합니다.

@RenderSection("Styles", required: false) 
+0

나는 그것이 틀린 길을 돌았다고 생각한다. 문제는 OP *가'RenderSection' 지시어를 가지고 있지 않지만'@ section'을 사용하여 해당 섹션을 선언했다고합니다. 따라서보기에는 단면이 있지만 그걸 어떻게 처리해야할지 모릅니다. – Chris

+0

@Matt 그래, 내가 이걸 줬어. 그리고 나는 여전히 같은 오류가 난다. 내 레이아웃 파일은 또한 모든 부트 스트랩 파일을 참조하므로이 파일들을 보관하고 싶지만 추가 CSS 시트를 추가하고 싶습니다. 내가 생각할 수있는 유일한 방법은 필요한 모든 파일이 들어있는 새 폴더를 시작하는 것입니다. 그런 다음 중복이 생깁니다. . 대단히 죄송합니다. – liamcook