_master.cshtml파일에서 @RenderSection("leftPanelTitle", required: false)를 쓰고요
list.cshtml 화일에서 주소값에 따라 leftPanelTitle의 내용을 변경하고 싶습니다.
예를들어
SubUrl = menu01
if (SubUrl == menu01){
section leftPanelTitle
{
<img src="@Href("~/images/leftPanel_menu01_title.png")" / >
}
}
else
{
section leftPanelTitle
{
<img src="@Href("~/images/leftPanel_menu02_title.png")" / >
}
}
이런식으로 구성을 하려고 하는데
section leftPanelTitle 에 ";" 를 넣어야 한다고 나옵니다..
section leftPanelTitle
{
이쪽에 IF 문을 넣으면 "}" 를 써줘야 한다고 하구요..
}
일반적으로 @if {
이부분에는 html을 써도 상관이 없는것 같고
함수를 쓰면 @를 붙이면 되는걸 같은데 section 은 개념이 틀린듯합니다..
}
저런경우 section은 어떻게 사용하는게 좋을까요?
.
..
...
....
.....
section 은 코드 블록(C#)의 키워드가 아닙니다. razor 의 템플릿 키워드입니다.
@{
if(expression){
section asd{
<p>asd</p>
}
}
}
이렇게 하면 section 키워드를 razor가 아닌 C#에서 해석하려 하기 때문에 당연히 오류가 발생합니다.
코드블록에서 해결하지 마시고 razor 템플릿 단에서 section 하위에서 해결하면 됩니다.
section 은 하위 템플릿 개념으로 이 섹션 안에서 별도로 해석하기 때문에 razor 템플릿 if 문의 하위로 해석할 수 없습니다.
@section leftPanelTitle{
@if(SubUrl == menu01){
<p>...</p>
}else{
<div>...</div>
}
}