ASP.NET/ASP.NET Core

[ASP.Net Core] Razor page 표현식 - html 속성이름들과 같이 사용할때 에러날때

http://portfolio.wonpaper.net 2023. 5. 24. 10:48

Razor page 상에서 표현식으로 변수처리할때 HTML 기본 속성이름들과 같이 사용할때 에러가 날수 있는데 이때에 간단히 처리하는 방법이다.

 

@{
   int number = popup.No;
}

 

    <div id="divpop@number" style="position:absolute;left:@popup.PositionXpx;top:@popup.PositionYpx;z-index:1211;visibility:visible;border: 0px solid #fff;">
        <iframe src="/Popup/Index/@number" name="popframe@number" id="popframe@number" width="@popup.Widthpx" height="@popup.Heightpx" frameborder="0" scrolling="No"></iframe>
    </div>

 

위의 표현식 변수처리는 Error 가 난다.

 

아래와 같이 괄호를 분명하게 하면 간단히 처리된다.

 

    <div id="divpop@(number)" style="position:absolute;left:@(popup.PositionX)px;top:@(popup.PositionY)px;z-index:1211;visibility:visible;border: 0px solid #fff;">
        <iframe src="/Popup/Index/@number" name="popframe@(number)" id="popframe@(number)" width="@(popup.Width)px" height="@(popup.Height)px" frameborder="0" scrolling="No"></iframe>
    </div>

 

물론 @number 가 기본적인 표현식방법이지만 코드소스상에서 문자열사이에 연이서 넣어야 할때 @(...) 식으로 코딩처리하면 되겠다.

 

 

https://stackoverflow.com/questions/54300060/in-asp-net-razor-how-to-include-model-attribute-in-a-string