jQuery を使用できる場合は、インライン スクリプトをまったく使用しないことをお勧めします (実際には不適切な形式と見なされます)。
代わりに、次のようなことを試してください。
<input type="button"
class="text"
value="@video.Text"
data-url="@String.Format('{0}',url);" />
(読みやすくするために別の行に分割しています...また、テンプレートのレンダリング方法によっては、文字列が不適切に終了するという偶発的な問題が発生する可能性があります。そのため、「{0}」を「{0}」に変更しました)
今、あなたのJavaScriptで:
// when the dom is ready
$(function() {
$('.text').click(function(evt){
evt.preventDefault();
var url = $(this).data('url');
videochange(url);
});
});
これにより、役割と責任が適切に分離されます...サーバー側のコードはサーバー側のままで、ビューにデータを提供します。ビュー/クライアント側のスクリプトは、2 つの異なる言語間の構文を面倒にマージすることなく、ビュー側の対話を処理します。