KendoGrid Content Template 및 인라인 면도기를 사용하여 셀의 내용을 동적으로 설정하려고하지만 모든 종류의 오류가 발생합니다.면도기 인라인 코드 생성 컴파일러 오류
"<table><tr>" +
"<td style='color:yellow; width:200px;height:13px;padding-top:0px; margin-top:0px;text-align:center;' class='audiogrid'>" +
@{
@if ((int)TempData["MediaTypeId"] == 1) {
@"<audio id='a1' src='#: MediaLocation #' controls='controls' preload='auto' autobuffer><embed height='26' autostart = 'false' type = 'audio/mpeg' width='290' src='#: MediaLocation #'></audio>" +
}
else{
@" #: Description # " +
}
}
"</td>" +
"</tr></table>"
위의 코드에서 오류가 발생합니다 : CS1646 : @ @ 기호의 첫 번째 인스턴스에서 : 그대로 지정 후 예상 키워드, 식별자 또는 문자열입니다.
이유 또는이 오류의 의미를 이해할 수 없습니다. MVC4에서 Razor를 사용하는 규칙에 따라 구문이 작동해야합니다. 확인하기 위해 약간의 연구를하고 here 정확 구문을 발견하지만 오류로 @ 제안 후 문자열을 포함 변화를 시도하고 내가 생각 그게 잘 작동해야합니다
"<table><tr>" +
"<td style='color:yellow; width:200px;height:13px;padding-top:0px; margin-top:0px;text-align:center;' class='audiogrid'>" +
@if ((int)TempData["MediaTypeId"] == 1) {
@"<audio id='a1' src='#: MediaLocation #' controls='controls' preload='auto' autobuffer><embed height='26' autostart = 'false' type = 'audio/mpeg' width='290' src='#: MediaLocation #'></audio>" +
}
else{
@" #: Description # " +
}
"</td>" +
"</tr></table>"
이 시간을 컴파일러 오류 메시지 : CS1026 :)가 @에서 내 코드에 나타나는 것과 같은 줄에 있어야합니다.
다른 변형도 시도했지만 그 중 아무 것도 작동하지 않는 것 같습니다. 내가 여기서 잘못하거나 뭘 어쩔 건데? :-(
기본적으로 셀의 제어는 당신은 html 태그와 C# 코드를 지정합니다.
깨달음 주셔서 감사합니다. 코드 블록 안의 @는 오류의 의미를 알아 내려고 노력하면서 무의미한 시도였습니다. 귀하의 권장 사항을 기반으로 내 코드를 수정하고 더 이상 다른 오류 중 하나가 나타나지 않지만 "파서 오류 메시지 : 인라인 마크 업 블록 (@
내용
)은 중첩 될 수 없습니다. 인라인 태그의 한 수준 만 허용됩니다." @를 사용하는 else 블록에서 : 어떤 아이디어가 그 의미인가? 나는 그 사용에 대한 당신의 설명을 이해하지만 오류는 나에게 이해가되지 않는다. – Mark여기 좀보세요 : http://www.aspnetwiki.com/telerik-mvc:nested-container-controls-and-razor-helper과 같은 중첩 태그가 있습니다. –
GvS
나는 그것이 당장 명백하지 않다. 그러나 나는 당신의 연결에서 제공된 대체 접근법을 확실히 시도 할 것입니다. 감사. – Mark