0

aspxでcsファイルのパスを取得するにはどうすればよいですか?

ここに問題があります: EPiServer 管理モジュールで使用される property.cs ファイルにプロパティ クラスを作成しました。したがって、 Server.MapPath()は、実行中のファイルのパスを返します。これは、私のコードとはまったく異なる場所にあります。css および js ファイルへの相対パスを動的に設定するには、(property.cs ファイル内から) property.cs ファイルのパスを取得する必要があります。これはどのように行うことができますか?

したがって、この cs ファイルに .js ファイルと .css ファイルを含めることができるようにしたいと考えています。すべてのファイルは同じディレクトリにありますが、cs ファイルには EPiServer UI からアクセスします。

4

3 に答える 3

3

あなたがやろうとしていることをやらないことを強くお勧めします。プロジェクトにデプロイすることさえできないファイルへの脆弱な依存関係を構築することになります。

javascript や css などのリソースに依存する Web クラスがある場合は、ClientScriptManager (または ajax アプリの場合は ScriptManager) を使用してスクリプト ファイルをページに登録し、スクリプトと css を独自の通常の Web ディレクトリにデプロイする必要があります。

配置場所に問題があり、再利用可能で再配布可能なモジュールを作成している場合は、.js ファイルと .css ファイルをWebResourcesとしてアセンブリに埋め込み、スクリプト マネージャーを使用してスクリプトを登録することをお勧めします。 ClientScriptManager.RegisterScriptResource()を使用して、ページをそのようにします。

于 2010-09-03T16:44:30.937 に答える
1

CSS、JS、その他の静的ファイルを埋め込みリソースとして含める必要があると思います。

これにより、DLL 内にファイルが含まれるため、展開が容易になります。次に、埋め込みファイルのコンテンツを提供するHTTP ハンドラーをセットアップするか、前述の RegisterScriptResource() メソッドを使用します。

ファイルを埋め込むことで、ファイル パスを知る必要がなくなります。

于 2010-09-15T09:40:12.580 に答える
0

ASP.NET はコンパイルされているため、実行時にソースファイルから設定を読み取る必要はありません。動的にする必要がある場合は、構成ファイル (*.config) から読み取る必要があります。これらもさまざまな方法でページのライフサイクル中に挿入できます。メソッドの。

于 2010-09-03T15:54:36.610 に答える