2012-01-05 16 views
2

MVC3 Razor ViewでSilverlightアプリケーションを表示するのに問題があります。Silverlightアプリケーションは、MVC Razor Viewではなくaspxページで動作します。

私はアプリケーションを追加し、テストページ(私の場合はTestAppTestPage.aspx)を生成すると、ページを参照してアプリケーションを正常に動作させることができます。

<div id="silverlightControlHost"> 
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> 
     <param name="source" value="ClientBin/TestApp.xap"/> 
     <param name="onError" value="onSilverlightError" /> 
     <param name="background" value="white" /> 
     <param name="minRuntimeVersion" value="5.0.61118.0" /> 
     <param name="autoUpgrade" value="true" /> 
     <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=5.0.61118.0" style="text-decoration:none"> 
      <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/> 
     </a> 
    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div> 

私はChromeのデベロッパーコンソールを見れば、私は別の参照だけの事はある:私はMVCかみそりビューに同じコードをコピーした場合は、コントローラのアクションを参照し、何もアプリケーションで発生しません「リソースは他人として解釈されますが、未定義のMIMEタイプで転送されました」という警告が表示されます。これが関連しているかどうかはわかりません。

SilverlightとMVCのさまざまなガイドを見て、コードの関連部分をコピーしても結果は得られません。私は、相対URLを使用して、パスを調整して遊んだことはありません。私はIISの設定もチェックしましたが、aspxのテストページで正常に動作するため、原因ではないと思われます。

+0

これが問題なのかどうかわかりませんが、Url.Contentを試してみましたか?例えば私が持っているMVC 2のアプリケーションからこれをポケットに入れましたが、Url.Contentがあるかどうかはわかりません。" /> MVC 3でさらに好まれます。 –

+0

それはそれを修正しました、ありがとうございます。あなたが答えとしてそれを与えたいなら、私はそれを受け入れられたものとしてマークすることができます。パスが間違っていると、別のパス(value = "〜/ ClientBin/TestApp.xap"など)で再生すると、アプリケーションの404が返されるので、変です。だから私はそれがないときに、パスは大丈夫だと思った。再度、感謝します。 – mfanto

答えて

4

mfantoのコメントに基づいて、私のコメントを答えに変えました。

私のコメントでは推測しましたが、外部ファイルに対してUrl.Contentを使用しないと問題が発生しました。だから、修正は、何かを使用するようになるでしょう

<param name="source" value="<%= Url.Content("~/ClientBin/TestApp.xap") %>" /> 

これはMVC 2アプリからのものです。

関連する問題