0

私はいくつかのaspプログラミングを行っていますが、asp.netまたはaspxスクリプトを使用していません。Cookieが設定されていない場合はhtmlファイルを送信するスクリプトを作成しようとしていますが、設定されている場合はpdfを送信します。ランタイムエラーが発生し続けます。

これが私のコードです:

<%@ Page Language="C#" %>
<%
HttpCookie mycookie = Request.Cookies["CHECK"];
if (mycookie.Value == ""){
 Response.ContentType = "text/html";
 Response.Clear();
 Response.TransmitFile("forbidden.html");
 Response.End();
}
else
{
 Response.ContentType = "application/pdf";
 Response.Clear();
 Response.TransmitFile("test.pdf");
 Response.End();        
}
%>

htmlとpdfの応答コードブロックをテストしましたが、どちらも正常に機能し、ファイルをブラウザーに送信します。mycookieにcookie情報を設定する行を追加しましたが、それでも機能します。ifロジックを追加すると、ランタイムエラーが発生します。

誰かが私が間違っていることを教えてもらえますか?

助けてくれてありがとう。

4

3 に答える 3

1

Cookies["CHECK"]が設定されていない場合は、 にmycookieなりますnull。したがって、おそらくNullReferenceException.

次のことを試してください。

if (mycookie == null || String.IsNullOrEmpty(myCookie.Value))) {
    // ...
} else {
    // ...
}

Stackoverflow へようこそ。

于 2012-08-07T14:31:02.083 に答える
0

mycookie が null かどうかを確認する必要があります。

次のようなものを試してください:

if (mycookie == null || String.IsNullOrEmpty(mycookie.Value)){
于 2012-08-07T14:34:45.870 に答える