programing

레이저에서 로컬 변수를 선언하는 방법은 무엇입니까?

yellowcard 2023. 6. 24. 08:57
반응형

레이저에서 로컬 변수를 선언하는 방법은 무엇입니까?

저는 asp.net mvc 3에서 웹 애플리케이션을 개발하고 있습니다.저는 그것이 매우 생소합니다.면도기를 사용한 뷰에서 몇 가지 지역 변수를 선언하고 전체 페이지에 걸쳐 사용하고자 합니다.이것이 어떻게 행해지는가?

다음과 같은 작업을 수행할 수 있다는 것은 다소 사소한 것처럼 보입니다.

@bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName);
@if (isUserConnected)
{ // meaning that the viewing user has not been saved
    <div>
        <div> click to join us </div>
        <a id="login" href="javascript:void(0);" style="display: inline; ">join</a>
    </div>
}

하지만 이것은 효과가 없습니다.이것이 가능합니까?

당신은 꽤 가까웠던 것 같아요, 이것을 시도해 보세요.

@{bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName);}
@if (isUserConnected)
{ // meaning that the viewing user has not been saved so continue
    <div>
        <div> click to join us </div>
        <a id="login" href="javascript:void(0);" style="display: inline; ">join here</a>
    </div>
}

변수가 같은 블록에 있어야 한다고 생각합니다.

@{
    bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName);
    if (isUserConnected)
    { 
        // meaning that the viewing user has not been saved
        <div>
            <div> click to join us </div>
            <a id="login" href="javascript:void(0);" style="display: inline; ">join</a>
        </div>
    }
}

다음을 사용할 수도 있습니다.

@if(string.IsNullOrEmpty(Model.CreatorFullName))
{
...your code...
}

코드에 변수가 필요하지 않습니다.

OP의 문제에 대한 직접적인 대답은 아니지만, 당신에게도 도움이 될 수 있습니다.범위 내의 일부 HTML 옆에 로컬 변수를 문제 없이 선언할 수 있습니다.

@foreach (var item in Model.Stuff)
{
    var file = item.MoreStuff.FirstOrDefault();

    <li><a href="@item.Source">@file.Name</a></li>
}

코드 루프에 따라 증가하는 int 변수를 찾고 있는 경우 다음과 같은 변수를 사용할 수 있습니다.

@{
  int counter = 1;

  foreach (var item in Model.Stuff) {
    ... some code ...
    counter = counter + 1;
  }
} 

전체 페이지에서 변수에 액세스할 수 있도록 하려면 파일의 맨 위에 변수를 정의하는 것이 좋습니다. (암묵적 유형 또는 명시적 유형을 사용할 수 있습니다.)

@{
    // implicit type
    var something1 = "something";

    // explicit type
    string something2 = "something";
}

<div>@something1</div> @*display first variable*@
<div>@something2</div> @*display second variable*@

당신은 모든 것을 블록에 넣고 그 블록에 원하는 코드를 쉽게 쓸 수 있습니다. 바로 아래 코드입니다.

@{
        bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName);
        if (isUserConnected)
        { // meaning that the viewing user has not been saved
            <div>
                <div> click to join us </div>
                <a id="login" href="javascript:void(0);" style="display: inline; ">join</a>
            </div>
        }
    }

그것은 당신이 처음에 더 깨끗한 코드를 가질 수 있도록 도와주며 또한 당신의 페이지가 여러 번 다른 코드 블록을 로드하는 것을 막을 수 있습니다.

언급URL : https://stackoverflow.com/questions/6601715/how-to-declare-a-local-variable-in-razor

반응형