C#とRazorを使用してMVC3アプリケーションを開発しています。Playビューを表示する必要があるときに問題が発生します。
Playアクションメソッドは、FLV(Flash)ファイルのパスを取得して、ファイルを再生するためにPlayビューに渡されるために使用されます。アプリケーションを使用return View("Play")
すると、ビューが正しくレンダリングされます。ただし、コードに示されているように、パス変数をビューに渡す必要があります。これを行うと、次のメッセージが表示されます。
ビュー「再生」またはそのマスターが見つからなかったか、検索された場所をサポートするビューエンジンがありません
アクションメソッドは次のとおりです。
public ActionResult Play(int topicId)
{
var ltopicDownloadLink = _webinarService.FindTopicDownloadLink(topicId);
if (ltopicDownloadLink != null)
{
var path = Server.MapPath("~/App_Data/WebinarRecordings/" + ltopicDownloadLink);
var file = new FileInfo(path);
if (file.Exists)
{
return View("Play", path);
}
}
return RedirectToAction("Index");
}
これがPlayビューです:
@model System.String
<div id='player'>This div will be replaced by the JW Player.</div>
<script type='text/javascript' src='/FLV Player/jwplayer.js'></script>
<script type='text/javascript'>
var filepath = @Html.Raw(Json.Encode(Model));
jwplayer('player').setup({
'flashplayer':'/FLV Player/player.swf',
'width': '400',
'height': '300',
'file': filepath
});
</script>
私の唯一のヒントは、JavaScriptでモデルを使用する際に間違いを犯したことです。手伝ってくれませんか。
ありがとう