0

1 つのノードに対して 2 つのテンプレートがあります。ユーザー エージェントに基づいて、Response.Redirect("?alttemplate=template2") を使用してそれぞれのテンプレートにリダイレクトしています。

Server.Transfer("/?alttemplate=template2",true);を試しました。しかし役に立たない。

Server.Transfer メソッドを使用して同じことを行うことは可能ですか。前もって感謝します。

4

2 に答える 2

2

Server.Transfer は Umbraco では動作しません (少なくとも、動作したことはありません)。これは、テンプレートを正しく配線するために必要な Umbraco イベントのすべてが起動されないという事実に関係していると思います。

Douglas が述べているように、Response.Redirect を使用することはできます (URL を変更しているため、実際に使用する必要があります)。

もう 1 つのオプションは、ページの OnPreInit イベントに接続することです。この時点で、ページの MasterPageFile プロパティを使用してページ テンプレートを変更できます。これは、Asp.Net MasterPages テンプレートを使用していることを前提としています。MVC ページを使用している場合は、どうすればよいかわかりません。

于 2013-05-28T09:59:02.267 に答える
1

はクエリ文字列を使用しないため、Response.Redirectを使用することをお勧めします。server.Transfer with query stringおよびServer.Transfer の Query stringServer.Transferを参照してください。

詳細については、Server.Transfer Vsを参照してください。Response.Redirect

于 2013-05-24T17:50:27.683 に答える