ScriptManagerで参照されているjsファイルのパス(例: "custom.js?2009082020091417")に "最終変更日時"を追加したい場合があります。私のMasterPageに含まれています)とScriptManagerProxies(コンテンツページ)にあります。コード内のScriptManagerプロキシへのアクセス
私は簡単にコードでScriptManagerにアクセスし、それをScriptsコレクションを通して反復して、宣言的に設定したスクリプトパスを取得し、 "?[lastmodifiedtimestamp]"の新しいパスを "設定"します。
問題は、存在する可能性のあるScriptManagerProxiesにアクセスする方法がわかりません。
デバッグ時に、非公開メンバー(._proxies)のプロキシを確認できます。私はドキュメントを見てきましたが、あなたが実際にこのコレクションに一般にアクセスできる場所はわかりません。
私に何かが不足していますか?
私は私のコンテンツページのPage_PreRenderCompleteイベントの基本クラスに次のコードを持っている:
ScriptManager sm = ScriptManager.GetCurrent((Page)this);
if(sm != null)
{
foreach (ScriptReference sr in sm.Scripts)
{
string fullpath = Server.MapPath(sr.Path);
sr.PathWithVersion(fullpath); //extension method that sets "new" script path
}
}
は、上記のコードは、私が私のマスターページで定義したスクリプトを1つ提供しますが、私は持っていない他の二つのスクリプト私のコンテンツページのScriptManagerProxyで定義されています。
JSのための魔法のように動作しますが、どのようにあなたがあなたのJavascriptに関連したリソースファイル(例えばCSSを扱うか(だろう?)画像など)? – jerhewet