MVC의 특정 영역에 속한 웹 페이지에만 포함시키려는 스타일 시트가 있습니다.ASP.NET MVC의 특정 영역에있는 페이지에만 스타일 시트를 포함시키는 방법은 무엇입니까?
저는 기본적으로 Areas/<Area Name>/Views/_ViewStart.cshtml
을 얻지 만이 영역에 렌더링되는 기본 레이아웃을 원합니다. 내 지역에 대한 _ViewStart 파일에 Styles.Render("My Bundle Name")
에 전화를 추가하는 시도
@ {
Layout = "~/Views/Shared/_Layout.cshtml";
}
하지만 <link>
태그는 HTML 소스에 표시되지 않습니다처럼 내 지역의 _ViewStart 파일을 찾습니다.
HtmlHelper
확장 국도에서 MVC에서 현재 지역의 이름을 반환 방법 등을 생성하는 방법 :
@if (Html.AreaName() == "MyArea")
{
@Styles.Render("...")
}
코드 AreaName()
확장 방법 :
public static string AreaName<TModel>(this HtmlHelper<TModel> htmlHelper)
{
return htmlHelper.ViewContext.RouteData.Values["area"] as string;
}
하지만 항상 null을 반환합니다. 심지어 응용 프로그램을 디버깅하고 "지역"디버거 탭 주위에 찔렀다. 경로 데이터에는 컨트롤러, ID 및 액션 이름이 포함되지만 내 영역의 페이지를 렌더링하는 경우에도 지역 이름은 포함되지 않습니다.
배경
난 어떤 MVC 응용 프로그램에 설치할 수있는이 지역에 대한 NuGet 패키지를 만드는 오전. 우리 조직에서는 부트 스트랩을 기반으로 기본 HTML 및 CSS 레이아웃이 제공되므로 레이아웃에 대한 예측 가능성이 있지만 베팅을 헤지하고 해당 영역에서 렌더링 된 페이지의 내 영역에만 적용되는 가져 오기 스타일 만 가져오고 싶습니다.
MVC의 특정 영역에있는 페이지, 다른 영역이나 페이지가없는 페이지에 스타일 시트를 포함하려면 어떻게해야합니까?
이 영역의 레이아웃으로''~/Views/Shared/_Layout.cshtml ''를 사용하고 있다면'~/Views/Shared/_Layout.cshtml'에서'Styles.Render ("My Bundle Name" Views/Shared/_Layout.cshtml' 파일? – Gavin
@Gavin : 작동하지만,이 스타일 시트는 사이트의 모든 페이지에 있습니다. 내 지역의 페이지 용으로 가져온 스타일 시트 만 필요합니다. –
각 요소에 대해 CSS 클래스를 직접 지정하여 무시하십시오. 내가 당신을위한 옵션이 아닌 것 같아? –