2012-02-26 14 views
0

ウェブサイトのルートでうまく動作するMVC2アプリケーションがありますが、仮想ディレクトリに公開すると、画像やCSSのいずれも機能しませんでした。私はUrl.Contentを使用し、JavascriptとJW Playerを使用したビデオファイル以外はすべて動作しました。 私は私の使用動的ボタンを構築しています:MVC2 - IIS7、仮想ディレクトリ - Url.Content

のonClick = String.Formatの( "のVideoPlayer( '../ビデオ/ {0})"、VideoName)を、

私はUrl.Contentを使用する必要がありますが、いくつかの方法で試しましたが失敗しました。あなたのご意見をお寄せいただきありがとうございます。 ありがとうございます

答えて

2

マークアップとJavaScriptを分けることができます。

<div class="player" data-url="<%= Url.Content("~/video") %>/foo.avi"> 
    Play foo 
</div> 

<div class="player" data-url="<%= Url.Content("~/video") %>/bar.avi"> 
    Play bar 
</div> 

し、その後、別のJavaScriptファイルにあなたが.clickイベントをサブスクライブできます:

$(function() { 
    $('.player').click(function() { 
     var url = $(this).data('url'); 
     videoplayer(url);  
     return false; 
    }); 
}); 
+0

おかげダーリン、あなたのソリューションがうまく機能します。たとえば、あなたは、HTML5 data-*属性とjQueryを使用することができますしかし、私の既存のfuction(videoname){var videotoplay = '<%= Url.Content( "〜" + videoname ")に<%= Url.Content("〜/ video/"+ VideoName)%> )%> '; 私のボタンのビデオ名は/video/test.mp4です。私はエラーが発生しています。名前 'videoname'は現在のコンテキストに存在しません。ありがとう – hncl

+0

@ user373721、ああ、 'videoname'はjavascript変数ですか?あなたはあなたの質問でそれを説明していたはずです。私は答えを例で更新します。 –

+0

ダーリンは正しいですが、デバッグのスキルを学ぶ必要もあります。 Fiddler/F12ツールを使用して、ソースを表示して、要求されたURLとそれが機能しない理由を把握することさえできます。 – RickAndMSFT

関連する問題