2014-04-19 5 views
0

나는 다음과 같이 Telerik 그리드 ClientTemplate에서 인수 함수를 호출하기 위해 노력하고있어 :Telerik MVC ClientTemplates에서 이벤트 처리기를 바인딩 할 수 있습니까?

.ClientTemplate("<a href=\"javascript:OnModifyDescription('<#= Value1 #>');\" title='Modify'>...</a>") 

Value 인수가 오류의 링크 결과 클릭에 후 작은 따옴표가 포함 "Uncaught SyntaxError: Unexpected identifier"합니다.

ClientTemplate에서 함수를 바인딩하는 올바른 방법은 무엇입니까?

미리 감사드립니다.

+0

왜 모든에 한 줄? 그리고 ... 글쎄, 모두들,'href = "javascript : ..."'링크를 사용하지 마십시오! – Tomalak

+0

답장을 보내 주셔서 감사합니다. 이제 코드가 래핑됩니다. 올바른 구문을 알려주십시오. – Alexander

+0

이것은 구문과 관련이 없습니다. 전체 접근법이 잘못되어 구문을 수정해도 어디든 당신을 이끌 수는 없습니다. 불행히도 Telerik MVC에 대해 충분히 알지 못합니다. 그래도 질문을 다시 말했습니다. 어쩌면 다른 누군가가 그것을 볼 수 있습니다. – Tomalak

답변

1

이 같은 클라이언트 템플릿을 확인하십시오 jquery live 기능에

<script> 
$('a.MyClass').live('click',function(){ 
    var myVal = $(this).attr('myAttrib'); 
    OnModifyDescription(myVal); 
}); 
</script> 

확인이 :

.ClientTemplate("<a class='MyClass' myAttrib='<#= Value1 #>') title='Modify'>...</a>") 

는 다음 페이지의 상단에 다음과 같은 스크립트를 작성 http://api.jquery.com/live/

+0

고마워요. 이 작동합니다. – Alexander

+0

@Alexander'.live()'는 jQuery 1.7부터 더 이상 사용되지 않으며 jQuery 1.9에서는 더 이상 존재하지 않는다는 것에 유의하자. 새 코드에서'.on()'을 사용하십시오. – Tomalak

+0

@ 마흐무드 이것이 효과가 있을지는 몰라도 여전히 잘못된 것입니다. MVC 라이브러리의 핵심은 이러한 작업을 수동으로 수행 할 필요가 없다는 것입니다. – Tomalak