2016-06-20 17 views
1

enter image description hereいつ@sectionスクリプトを使用する必要がありますか?

私の現在の構造には、ヘッダー、ボディー、フッターのレイアウトがあります。ボディの中でajaxを使ってJsonを返し、ツリービューをペイントするアクションコントローラを呼び出すビューをロードします。ユーザがツリービューをクリックすると、フッターは詳細情報をロードするはずです。しかし、動作していない、私の推測はスクリプトセクションが正しくレンダリングされないためです。

現在、スクリプトはバンドルなどのないレイアウトになっていて、JsonデータとJsonデータを読み込むためにJqueryとTreeを使用するため、メイン本体で正常に動作します。

しかし部分的なビューではエラーが発生します。 @section scripts領域を作成し、パーシャルビューのレイアウトからすべてのスクリプトをコピーできますが、なぜコードを複製する必要がありますか?

enter image description here

最悪の部分はうまく動作的環境私devolpmentに...本番環境には、私に問題を与えています。

enter image description here

ので質問:メインビューは、スクリプトはレイアウトが、部分図doesntの上で定義見ることができるのはなぜ

  • なぜ私の開発環境は問題なく動作しますが、プロダクションはそれほど役に立ちませんか?

  • これを解決するにはどうすればよいですか?

EDIT:その他のテスト。

これはテストビューです。このビューはボディにレンダリングされます。しかし、私はスクリプトのセクションが含まれている必要があります。

@{ 
    ViewBag.Title = "TreeDetails";  
} 
<html> 
<head> 
    <title>@ViewBag.Title</title> 
</head> 
<body> 
    <h2>TEST PAGE</h2> 

    <script> 

     // Your code goes here. 
     $(document).ready(function() { 
      console.log("before dialog"); 
      $("#dialog").dialog(); 
      console.log("after dialog"); 
     }) 
    </script> 

    <div id="dialog" title="Basic dialog"> 
     <p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p> 
    </div> 

</body> 
</html> 

@section scripts { 
    <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> 
    <script src="//code.jquery.com/jquery-1.10.2.js"></script> 
    <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
} 
+0

..レイアウトヘッダー内のビューの@sectionエリアからjqueryのにあなたのリンク参照を移動しよう...により認識されていないjqueryの関数に実行時エラーを思わあなたは 'ツリービューを持っていますか'スクリプトはレイアウト内にも読み込まれますか?それは '@ scripts'セクションか、通常の'

関連する問題