2011-05-14 2 views
0

twitter.cshtml이라는 파일 하나를 만들었습니다. 해당 페이지에서 내 코드는 다음과 같습니다.Razor 구문에 어떤 문제가 있습니까?

@if (Request["TwitterUser"].IsEmpty()) 
{ 
    @Twitter.Search("microsoft") 
} 
else 
{ 
    @Twitter.Profile(Request["TwitterUser"]) 
} 

트위터가 라인에있는 오류 - @Twitter.Profile(Request["TwitterUser"])가 발생했습니다.

왜 이런가요?

+0

WebMatrix에 있나요? MVC 3을 사용합니까? –

+1

제목을 문제의 의미있는 것으로 변경해야합니다. – mcgrailm

+1

자세한 내용을 입력해야합니다. 오류가 무엇입니까? Twitter.Profile 메소드를 보여줄 수 있습니까? 포함 된 네임 스페이스에 있습니까? –

답변

0

if 및 else 블록에서 @ 기호를 제거하십시오.

@if (Request["TwitterUser"].IsEmpty()) 
{ 
    Twitter.Search("microsoft") 
} 
else 
{ 
    Twitter.Profile(Request["TwitterUser"]) 
} 

마크 업 안에있을 때만 @ 기호를 사용해야하며 if 문과 같은 코드 블록 안에있을 때는 필요하지 않습니다. 당신은 @ 기호를 사용할 필요가 있으므로 블록의 경우에서

@if (Request["TwitterUser"].IsEmpty()) 
{ 
    <div>@Twitter.Search("microsoft")</div> 
} 
else 
{ 
    <text>@Twitter.Profile(Request["TwitterUser"])</text> 
} 

는 Twitter.Search에()를 호출하면, HTML 태그 (마크 업) 안에 지금이다. else 루프에서는 <text> 태그가 렌더링되지 않습니다.이 태그는 Razor가 마크 업 모드로 들어가게하는 특별한 태그입니다.

+0

코드 블록 내에서 @ Whatever.Something()을 사용하면 메서드의 결과가 페이지에 출력됩니다. Tehnically 그가 뭘했는지는 정확하지 않습니다. 정확히 어떤 결과를 기대하는지 판단하기는 어렵습니다. – Arrow

관련 문제