質問

私のキャッシュフローを含めたjavascriptファイルの内部。一度に描画されるこ載している図表等や、他のjsを含むタグの中のマイページのhtml.私なりの視点から、日本には素敵な方法を行っています。所属しているのheadタグとはない防止のためのブラウザからのhtmlレンダリング。

例: を使用していjquery picturegalleryプラグイン内の'PictureGalleryの一部としてビューのこの部分のビューは使用する複数のページ。このプラグインを選択する必要があるであるため、このことは、このビューが使用 いて知る必要のあるプラグインを各部分のビューが利用...

彼の答えなのです。

役に立ちましたか?

解決

のように近いこの質問: リンクJavaScriptライブラリでユーザーコントロール

私は転載す私の答えとその質問はこちら。

この助言に対してその中項を網じる理由ものもあります。が高い一見を引き二項を網としての参照同jsファイルです。また、パフォーマンスの負荷js荷積みされる前の残りのhtml.

知らない最高の練習でもお選びませjsファイル内のmasterpageとその定義は別ContentPlaceHolder一部追加のjsファイル固有の特定の又は少数です。

以下に例を示しますマスターのページって、自己ます。

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<head runat="server">
    ... BLAH ...
    <asp:ContentPlaceHolder ID="AdditionalHead" runat="server" />
    ... BLAH ...
    <%= Html.CSSBlock("/styles/site.css") %>
    <%= Html.CSSBlock("/styles/ie6.css", 6) %>
    <%= Html.CSSBlock("/styles/ie7.css", 7) %>
    <asp:ContentPlaceHolder ID="AdditionalCSS" runat="server" />
</head>
<body>
    ... BLAH ...
    <%= Html.JSBlock("/scripts/jquery-1.3.2.js", "/scripts/jquery-1.3.2.min.js") %>
    <%= Html.JSBlock("/scripts/global.js", "/scripts/global.min.js") %>
    <asp:ContentPlaceHolder ID="AdditionalJS" runat="server" />
</body>

Html.CSSBlock&Html.JSBlockは明らかに自分の拡張が、自己説明うことになったと言われています。

その後も、登録.aspx見い

<asp:Content ID="signUpContent" ContentPlaceHolderID="AdditionalJS" runat="server">
    <%= Html.JSBlock("/scripts/pages/account.signup.js", "/scripts/pages/account.signup.min.js") %>
</asp:Content>

HTHs、チャールズ

Ps.こちらのフォローアップとして、また質問を聞いminifyingと結jsファイル:連結&Minify JSしてビルド時には-ASP.NET MVC

編集: として求める私の答えは、私の実装です。JSBlock(a,b)として求め

public static MvcHtmlString JSBlock(this HtmlHelper html, string fileName)
{
    return html.JSBlock(fileName, string.Empty);
}

public static MvcHtmlString JSBlock(this HtmlHelper html, string fileName, string releaseFileName)
{
    if (string.IsNullOrEmpty(fileName))
        throw new ArgumentNullException("fileName");

    string jsTag = string.Format("<script type=\"text/javascript\" src=\"{0}\"></script>",
                                 html.MEDebugReleaseString(fileName, releaseFileName));

    return MvcHtmlString.Create(jsTag);
}

そして、魔法が起き...

    public static MvcHtmlString MEDebugReleaseString(this HtmlHelper html, string debugString, string releaseString)
    {
        string toReturn = debugString;
#if DEBUG
#else
        if (!string.IsNullOrEmpty(releaseString))
            toReturn = releaseString;
#endif
        return MvcHtmlString.Create(toReturn);
    }

他のヒント

理由は何だからこそ実現できるスクリプトの下部にページのdomの読み込みを試みる前に他の操作が可能です。この実現も可能で何かのよう$(document).ready(コールバック);jQuery方法です。

I共有のビューを受けてJavaScript埋め込みをします。代わりに使っていHtmlヘルパーを空部として利用サーバました。のヘルパー研究はHtml.ServerData(String name,オブジェクトデータ);

その結果が、先ほど任天堂さんのServerData方法の指示をサーバからクライアントへののdivタグについては、次のとおりでありクリーンの"データ"の属性の有効html5です。

のloadScriptの指示がないようなことに私のascxはaspx:

<%= Html.ServerData("loadScript", new { url: "pathTo.js" }) %>

他のヘルパーにいる少しクリーナー:

<%= Html.LoadScript("~/path/to.js") %>

Html出力することはできない。

<div name="loadScript" data-server="encoded json string">

そしてjQueryる方法で当サーバーのデータタグ:$(containingElement).serverData("loadScript");//返しますjQueryなどの配列を復号化されたjsonオブジェクト。

のリスクがあるとこんな感じにな:

var script = $(containingelement").serverData("loadScript");
$.getScript(script.url, function () {
    // script has been loaded - can do stuff with it now
});

この技術はユーザーコントロールやスクリプトが必要な搭載内ajax搭載内容です。に書いたのはちょっ関わる取り扱いキャッシュのスクリプトな負荷が一度だけフルページのロードやコールバック、jQueryをトリガできますのでフックまでのご用意もあります。

だが、フルバージョンのこれからMVCにjQueryへ拡張子なし)をやらせていただきたいと思いるこの技法があります。その他に期待することで誰かの新しい取り組み方でこの難しい問題です。

今日は私が自分のソリューションに適しています。るかどうかでは良いデザインなので、すべての決定が思いを共有しなければならないずれか。

以下が私のHtmlExtensionsクラスでこのおmasterpage:

<%=Html.RenderJScripts() %>

私HtmlExtensionsクラス:

public static class HtmlExtensions
{
    private const string JSCRIPT_VIEWDATA = "__js";

    #region Javascript Inclusions

    public static void JScript(this HtmlHelper html, string scriptLocation)
    {
        html.JScript(scriptLocation, string.Empty);
    }

    public static void JScript(this HtmlHelper html, string scriptLocationDebug, string scriptLocationRelease)
    {
        if (string.IsNullOrEmpty(scriptLocationDebug))
            throw new ArgumentNullException("fileName");

        string jsTag = "<script type=\"text/javascript\" src=\"{0}\"></script>";

#if DEBUG
        jsTag = string.Format(jsTag, scriptLocationDebug);
#else
        jsTag = string.Format(jsTag, !string.IsNullOrEmpty(scriptLocationRelease) ? scriptLocationRelease : scriptLocationDebug);
#endif

        registerJScript(html, jsTag);
    }

    public static MvcHtmlString RenderJScripts(this HtmlHelper html)
    {
        List<string> jscripts = html.ViewContext.TempData[JSCRIPT_VIEWDATA] as List<string>;
        string result = string.Empty; ;
        if(jscripts != null)
        {
            result = string.Join("\r\n", jscripts);
        }
        return MvcHtmlString.Create(result);
    }

    private static void registerJScript(HtmlHelper html, string jsTag)
    {
        List<string> jscripts = html.ViewContext.TempData[JSCRIPT_VIEWDATA] as List<string>;
        if(jscripts == null) jscripts = new List<string>();

        if(!jscripts.Contains(jsTag))
            jscripts.Add(jsTag);

        html.ViewContext.TempData[JSCRIPT_VIEWDATA] = jscripts;
    }

    #endregion

}

になるかもしれません。
のクラス上のHtmlHelper方法を追加javascriptへのリンクコレクション格納されるようになっているの HtmlHelper.ViewContext.TempData 収集します。末masterpage入れる <%=Html.RenderJScripts() %> るループのjscripts収集の HtmlHelper.ViewContext.TempData 描画をすることで、出力に出力します。

が下振れしかし、..することを確実にするために、多くんの描画スクリプトの前にまで追加します。だいたいこのためにcssのリンク例するのではなく、あなたの作品が気に入ったのでまことに <head> タグのページのhtmlhelper像の出力の前にまで追加リンクを張ります。

このような同様はすべて質問です。 で悪習を返し部分的な景色が含まれるjavascript?

自分の好きを引き出しおよび設定ができますマスターのページを継承した本サイトです。ます。こまねこのプラグインへの引き出しおよび設定ができますマスターを8でページがこのカスタマーサポートを受け継ぐからの引き出しおよび設定ができますます。

の優先アプローチ 入スクリプトの, し出すことができなければ避けることで合理的に入っています。

通常はブラウザの負荷のページ要素と並行しながら、ブラウザのダウンロード"でダウンロードJavascriptファイルでないダウンロードその他のページ要素を並列までJavascriptを行います。この画像をなくていいものが待機しておりますので、一般的に考えられるよう移動スクリプトの下が合わない場合にはスクリプトが小さくしています。

hejdig.

遊びAspnetmvc3決まっていますので、必ず、かたjavascriptファイルの一部

<script src="@Url.Content(" ~="" Scripts="" User="" List.js")"="" type="text/javascript"></script>

このjsファイルはその特定のためのマー/ユーザー/一覧です。schtmlファイルです。

/の

のデザイナーのMVCによって多くのトラブル防止の利用コード-behindsが作成という名前のファイル <viewname>.aspx.csの変更を継承の属性aspxページで当社グループでは、よりよいものを得ることが可能です。

いと思うん、最高のロケーションを入れるなどのPage_Loadハンドラのcodebehind用ページです。ClientScript.RegisterClientScriptInclude).

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top