2011-12-05 1 views
1

Xpediteというライブラリがあります。プロジェクトのURLはhttp://xpedite.codeplex.comです。ここから誰でもサンプルを使ってプロジェクトをダウンロードできます。私はこのライブラリをチェックし、それは良いです。JS&CSS Xpediteを使用したミニマム&結合

ユーザーのみが、このようなページでJSファイル名をラップする必要があります:

<xpedite:CompositeResourcePlaceholder runat="server" /> 

<xpedite:CompositeResource runat="server" Type="Css" ReferenceName="jquery-ui"> 
    <xpedite:Resource Url="/Styles/Site.css" /> 
    <xpedite:Resource Url="/Styles/jquery.ui.accordion.css" /> 
    <xpedite:Resource Url="/Styles/jquery.ui.all.css" /> 
</xpedite:CompositeResource> 

<xpedite:CompositeResource runat="server" Type="JavaScript" ReferenceName="jquery-ui"> 
    <xpedite:Resource Url="/Scripts/jquery-1.4.2.js" /> 
    <xpedite:Resource Url="/Scripts/jquery.ui.core.js" /> 
    <xpedite:Resource Url="/Scripts/jquery.ui.tabs.js" /> 
</xpedite:CompositeResource> 

すべてが正常に動作しているが、私はいつもの.aspxページレベルでのJS & CSSファイルを定義する必要があります。おそらく時々私のJS & CSSをコードビハインドから追加したいと思うかもしれません。私はそれを行う方法が見つけられませんでした。 誰かがそれを知っているなら、私と知識を共有してください、またはプロジェクトをダウンロードして確認してください...私はそれをチェックしましたが、何も見つかりませんでした。

私は先進の開発者ではありませんが、JSファイルをコードの後ろからCompositeResourceでまとめなければなりません。

答えて

3

RequestReduceライブラリを試してみることがあります。このライブラリは、Xpediteと同じ機能を提供し、あなたのcssとjavascriptファイルを縮小して組み合わせます。また、CSSの背景画像にスプライトすることもできます。 RequestReduceでは、リソースがaspxまたはコードビハインドで定義されているかどうかは関係ありません。いずれにしても、ブラウザにストリームされるhtmlにjavascriptとcssファイルのリンクとスクリプトタグが含まれている限り、RequestReduceはそれらを処理します。情報提供の目的のための答えを追加

+0

私は見ていることを確認します。ありがとう –

2

代わりに.NetのClientDependencyFrameworkを使ってみましたか?私が信じている同様の仕事をしますが、コードの後ろからファイルを登録することもできます

+0

確かに私は見ています。ありがとう –

0

分離コードから複合リソースを登録するには、次のように、あなたはPage_InitでCompositeResourceコントロールの新しいインスタンスを追加することができます。

分離コード

protected void Page_Init(Object sender, EventArgs e) 
{ 
    var resource = new CompositeResource { Type = ResourceType.Css, ReferenceName = "CodeBehind"}; 

    resource.Resources.Add(new Resource { Url = "/Styles/Site.css"}); 
    resource.Resources.Add(new Resource { Url = "/Styles/jquery.ui.accordion.css"}); 

    Page.Controls.Add(resource); 
} 

また、既存のCompositeResourceにIDが指定されている場合は、そのCompositeResourceを拡張することもできます。

ASPX

<xpedite:CompositeResource runat="server" Type="Css" ReferenceName="jquery-ui" ID="MyCompositeResource"> 

分離コード

protected void Page_Init(Object sender, EventArgs e) 
{ 
    MyCompositeResource.Resources.Add(new Resource { Url = "/Styles/jquery.ui.theme.css" }); 
} 

あなたが動的にその場でCSS/JavaScriptを生成し、複合リソースでそれを含めしようとしている場合、その機能は現在サポートされていません。 'EmeddedResource'のサポートを追加するのは比較的簡単ですが、問題がCodePlexプロジェクトで開かれていても(近い将来GitHubに移行する予定ですが)。

関連する問題