商品の詳細ページがあります。製品はクエリ文字列の ID によって取得されます。ID を持つ製品がデータベースで見つかった場合は詳細が表示され、そうでない場合は「このアイテムが見つかりません」というメッセージが表示されます。かなり標準的なもの。私がやりたいことは、「このアイテムが見つかりません」というメッセージを含む詳細ページを表示し、404 応答を送信することです。これは、Google が削除されたアイテムのインデックスを解除するためです。
だから私はこのようなものを持っています(簡略化):
<asp:Panel ID="pnlDetails" runat="server" Visible="false">
item details go here
</asp:Panel>
<asp:Panel ID="pnlError" runat="server" Visible="false">
<p>The specified item could not be found.</p>
</asp:Panel>
And in the code behind:
if(itemFound)
{
showDetails();
}
else
{
showError();
}
private void showDetails()
{
pnlDetails.Visible = true;
//fill in details
}
private void showError()
{
//set response
Response.StatusCode = 404;
pnlError.Visible = true;
}
現在何が起こっているかというと、エラー パネルが表示されますが、まだ 200 応答が返されます。誰かが私が間違っていることを教えてもらえますか? アドバイスをいただければ幸いです。どうもありがとうございました。
編集:Page_Load
これは、イベント ハンドラーでこれらのメソッドを呼び出しています。