2

私のweb.configでは、次のページ宣言を使用します

<pages maintainScrollPositionOnPostBack="true" Theme="Theme1">

Web アプリケーションでさまざまなテーマを使用して、いくつかの異なるクライアントの表示方法をカスタマイズできるようにすることを目的としています (一部のクライアントは、Web アプリケーションのページに独自のブランドを設定する必要があります)。

開発コードで theme ディレクティブを省略すると、デバッグ時に正しく表示されないため、web.config でテーマを定義したいのですが、上記のように定義されている場合は、自分のすべての .aspx ページ宣言は次のようになります。

<%@ Page Language="VB" CodeFile="MRSHome.aspx.vb"%>

これに:

<%@ page language="VB" inherits="App_Web_peiwi24o" theme="Theme1" maintainScrollPositionOnPostBack="true" %>

ページ レベルのテーマ宣言は、web.config ファイルで設定されたものをオーバーライドします。一部のページは、ユーザーが必要とするときにプログラムによって印刷用のテーマに切り替えるため、そのままにしておく必要があります。

コンパイル中に web.configs ページの設定が各ページのページ宣言に追加されないようにするにはどうすればよいですか?

4

1 に答える 1

0

web.config ページの宣言でテーマを宣言する代わりに、webconfig に appsettings を追加できます。

<appSettings>
    <add key="MyCustomTheme" value="Theme1" />
</appSettings>

PreInit フォームでは、ページのテーマを設定できます。

Protected Sub WebForm1_PreInit(sender As Object, e As EventArgs) Handles Me.PreInit
        Dim myTheme As String = ConfigurationManager.AppSettings("MyCustomTheme")
        Page.Theme = myTheme 
End Sub

そのため、デプロイすると、ページ宣言にはテーマが含まれません。実行時に、構成で定義された正しいテーマを取得します。

于 2013-09-19T03:32:52.400 に答える