2

印刷可能な請求書を生成するために提供されるボタンを作成する必要があります。これにより、購入チケット情報を印刷するための Web ページが再フォーマットされます。

私は 1 つの Web ページしか使用することが許可されておらず、印刷可能な請求書のみが表示されるように、ページ上の他のすべてを非表示にする必要があります。これどうやってするの?

「コツはPageクラスが提供するResponseメソッド(正確にはSystem.Webという親クラスが提供する)を使うことです。画面に表示するものはSystemが管理しています。 Web オブジェクトと Response メソッドを使用すると、そこに必要なものを何でも入れることができます。」

4

2 に答える 2

2

Responseオブジェクトをいじる必要はありません。

その秘訣は、CSS メディア タイプ(特に印刷用 CSS ファイル) を使用することです。

印刷用 CSS ファイルをページに追加します。

 <LINK REL="stylesheet" TYPE="text/css" MEDIA="print" HREF="foo.css" />

このファイルでは、display非表示にする必要があるすべてのプロパティを設定し、none表示する必要があるものの CSS を微調整して、印刷用に最適化できます。

ユーザーが通常のブラウザの印刷機能を使用して印刷する場合、これが印刷のレンダリングに使用されます。

于 2013-04-07T08:48:42.887 に答える
1

「トリック」とは、必要な応答を送信できることを意味します。たとえば、pdf を送信する場合は、応答を変更して pdf のバイトストリームを送信し、ヘッダーを変更すると、クライアントに pdf ファイルが提供されます。

とはいえ、質問は非常に曖昧であり、多くの可能な回答があります。「1 つの Web ページのみの使用が許可されています」 - これは、1 つの URL または 1 つの aspx ファイルしか持てないということですか? Server.Transfer で 2 番目のページに簡単に移動できるため、同じページにいるように見えます。

また、この請求書を含む Web ページである必要がありますか? または、ツール (SQL Reporting Services など) を使用して生成し、pdf として提供できますか?

1 つの Web ページで行き詰まっている場合の最も簡単な方法は、2 つのパネルを使用することです。1 つは「請求書」を含み、もう 1 つはページに通常含まれる内容を含みます。ユーザーが請求書を希望する場合は、他のパネルを非表示にして請求書を表示します。請求書自体は、カスタム コントロール (ascx) にすることができます/する必要があるため、必要なときにいつでもプラグインでき、懸念事項の分離を維持できます。

于 2013-04-07T08:48:24.550 に答える