2011-09-04 4 views
0

저는 MVC를 처음 사용합니다. 나는 로그인 한 사람을 기반으로 테이블 행에 데이터를 표시하는 방법을 연구하려고합니다. 즉. 로그인 한 사람이 행에 대한 검사기와 일치하면 내용을 표시합니다. 일치하지 않으면 다른 콘텐츠가 표시됩니다.일치하는 사용자에게만 표시되는 MVC 테이블 행

<td rowspan="2"> 
    <span>Checker:</span> 
    @if(item.Checker.Username == HttpContext.Current.User.Identity.Name) { 
     <div> Show content if logged in user matches row owner </div> 
    } 
    else { 
     <div> Show different content when there isn't a match </div> 
    } 
</td> 

나는 이것이 올바른 접근 방식 있는지 알고 싶어 해요 :

내가 함께했다. 최대한 많은 논리를 가능한 한보기 좋게 유지하려고합니다. 아마도 이것이 최선의 방법이 아닐 수도 있습니다.

누군가가 이것을 달성 할 수있는 적절한 방법이라고 말해 줄 수 있습니까?

더 좋은 방법이 있습니까? 이제

@if (item.IsCurrentUserOwner) { 
    <div> Show content if logged in user matches row owner </div> 
} 
else { 
    <div> Show different content when there isn't a match </div> 
} 

하는 때 뷰 모델 도메인 모델에서 컨트롤러지도는 웁니다 :보기는 다음과 같이 보이도록

답변

0

은 실제로 더 나은 방법은 뷰 모델에 부울 속성을 추가하는 것입니다 이 속성은 현재 로그인 한 사용자를 기반으로합니다. 뷰는 가능한 한 벙어리가되어야하며 이와 같은 인증 로직은 컨트롤러에 더 적합 할 것임을 기억하십시오.

이 속성에 신경 쓰지 않으려면 접근 방법도 좋습니다. 방금 개선을 위해 2 센트를주었습니다.