2017-10-25 3 views
-4

MVC 뷰에 For ... Each 루프 목록이 있습니다. 내가해야 할 일은 레코드를 삭제 된 것으로 표시했는지 결정하기 위해 속성을 살펴본 다음 테이블 행에 "위험"인 Bootstrap 클래스를 설정하는 것입니다.MVC For. 각 클래스를 조건부로 설정하는 방법은 무엇입니까?

속성을 살펴보고 각 조건에 대한 표 행을 작성할 수 있지만 추가 작업처럼 보일 수 있습니다. 다음 코드를 사용하면 면도기는 초기 태그를 볼 수 없다는 사실을 좋아하지 않습니다. 이것을 어떻게 성공적으로 수행 할 수 있는지에 대한 제안? 여기

@foreach (var item in Model.MyList) 
{ 
    if (item.IsDeleted == 1) 
    { 
     @Html.Raw("<tr class='danger'>") 
    } 
    else 
    { 
     @Html.Raw("<tr>") 
    } 
     <td>@item.FirstName</td> 
     <td>@item.LastName</td> 
     <td>@item.EmployeeId</td> 
    </tr> 
} 

답변

1

가 문제 어떻게 이런 일에 대한

@foreach (var item in Model.MyList) 
{ 
    <tr class="@(item.IsDeleted ? "danger" : string.Empty) "> 
     <td>@item.FirstName</td> 
     <td>@item.LastName</td> 
     <td>@item.EmployeeId</td> 
    </tr> 
} 
+0

감사합니다. 나는 이런 식으로 시도했지만 그것이 효과가 없다고 맹세 할 수 있었다. "@"표시를 잘못된 위치에 넣을 수 있습니다. 어느쪽으로 든, 나는 이것을 따라 갔고 내가 필요한 것을 얻었다. – Caverman

0

에 대한 간단한 방법입니다?

@foreach (var item in Model.MyList) 
    { 
      <tr class="@(Model.deleted ? "danger" : "")"> 
      <td>@item.FirstName</td> 
      <td>@item.LastName</td> 
      <td>@item.EmployeeId</td> 
     </tr> 
    } 
0

당신은 단순히 이런 식으로

@foreach (var item in Model.MyList) 
{ 
if (item.IsDeleted == 1) 
{ 
    <tr class="danger"> 
     <td>@item.FirstName</td> 
     <td>@item.LastName</td> 
     <td>@item.EmployeeId</td> 
    </tr> 
} 
else 
{ 
    <tr> 
     <td>@item.FirstName</td> 
     <td>@item.LastName</td> 
     <td>@item.EmployeeId</td> 
    </tr> 
} 

에게 작업 할 수 또는 대안은 샘플에 대한

@foreach (var item in Model.MyList) 
{ 
    <tr @(item.IsDeleted != 1 ? String.Empty : "class=\"danger\"")> 

     <td>@item.FirstName</td> 
     <td>@item.LastName</td> 
     <td>@item.EmployeeId</td> 
    </tr> 
} 
+0

고마워요, 첫 번째 제안은 내가 처음에 한 일이었습니다.하지만 게시 한 것보다 몇 가지 더 많은 표 셀을 가지고 있으며 반복적 인 코드처럼 보였습니다. 당신의 대안은 제가 찾고있는 것에 더 가깝습니다. – Caverman

+0

그게 효과가 있었나요? – mzh

+0

내가 게시 한 것과 비슷한 @Rahul 제안을 사용했습니다. – Caverman