2017-07-07 20 views

答えて

2

次のいずれかの

  • (右のContent-Typeレスポンスヘッダを必ず出力すること!)ASP.NETからJavaScriptを生成
  • 出力のどこかにDOMへのデータ(例えば<meta>要素またはdata-*属性)を入力してから、それを読んでください。
1

JavaScriptファイルをバンドルすると、これはやり方が変わります。バンドルを使用すると、ファイルのバージョンを管理することができます(キャッシュされたファイルを更新するとそのファイルが更新されます)。また、ファイルを縮小してデータをクライアントに高速に配信できます。ここでは、バージョン(ジャバスクリプトファイルを含めている自動的によって移入され、上記の例では

public class BundleConfig 
{ 
    // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     /* ===================================== Scripts ===================================== */ 

     bundles.Add(
      new ScriptBundle("~/Script/JQuery/JQuery") 
       .Include("~/Scripts/JQuery/jquery-{version}.js") 
      ); 
     bundles.Add(
      new StyleBundle("~/bundles/styles/highslide") 
       .Include("~/Highslide/Highslide-ie6.css") 
       .Include("~/Highslide/Highslide.css") 
      ); 
    } 
} 

:あなたのApp_Startフォルダで

は、BundleConfig.csと呼ばれるファイルは、それは次のようになりますがありフレームワーク)とHighslideと呼ばれるCSSライブラリ。このライブラリでは、複数のファイルを含めることができます。また、ファイルがすべて異なるディレクトリにどのようにあるかに注意してください。これにより、適切にプロジェクトを構成することができます。あなたのビューでこれを使用するために、今すぐ

あなたがしなければならないすべてはこれがある:については

@if(ViewBag.UserName != null) 
{ 
    @Scripts.Render("~/Script/JQuery/JQuery") 
} 

:言ったことで

@Scripts.Render("~/Script/JQuery/JQuery") 
@Styles.Render("~/bundles/styles/highslide") 

、あなたは今、あなたのビューでこれを行うことができますHTMLエンコーダの問題では、JSファイル内にjavascript変数を入れてから、ファイルをインクルードする前に変数を宣言して設定してください。このように:

@if(ViewBag.UserName != null) 
{ 
    <script type="text/javascript"> 
     var msg = 'Weclome, ' + @Encoder.JavaScriptEncode(ViewBag.UserName, false)!; 
    </script> 
    @Scripts.Render("~/Script/MyScript") 
} 

あなたのスクリプトファイルは、次のようになります

$(function(){ 
    $("#welcome-message").html(msg).hide().show('slow'); 
}) 
関連する問題