1

このエラーが発生した理由:

オブジェクト参照がオブジェクト インスタンスに設定されていません。

このコードを page_load に入れると:

protected void Page_Load(object sender, EventArgs e)
{
     BackEndUtils.OverallLoader();

     string Teststr = Session["Co_ID"].ToString();
}

================================================== ========================

このセッションは、ユーザーが私の Web サイトにログインしたときに作成され、このセッションは他の領域で機能します...

ご清聴ありがとうございました

================================================== ========================

答えてくれてありがとう

削除しましBackEndUtils.OverallLoader();たが、エラーがまだ存在します

私は試してみTeststr = Convert.ToString(Session["Co_ID"]);ましたが、エラーは消えました - しかし、なぜそのセッションがnullなのかわかりません

セッションが完全に機能する他の領域で=そのフォームのボタンなど

何か問題でもありますか?

私のWebページのマークアップは次のようなものです:

<%@ Page Title="" Language="C#" MasterPageFile="~/Admin/AdminBackend.Master" AutoEventWireup="true" CodeBehind="Personel.aspx.cs" Inherits="Darman.Admin.Personel" Theme="DefaultTheme" %>

================================================== ===============================

私はこのコードを次のようなボタンに入れました:

string Teststr = Convert.ToString(Session["Co_ID"]);

そのボタンを押すと、ページ Load(POSTBACK) + IN Button_Click のこのコードが完全に機能し、23 (私の Co_ID) が表示されます

しかし、ブラウザーでページを (初めて) 実行すると、ページの読み込みでこのコードが null と表示されます。

なぜ?

どうもありがとう

4

5 に答える 5

1

おそらくエラーが表示されるはずです。エラーは.ToString()、オブジェクトでは機能しないことを示しています。さらに、.ToString()ここに書き込む必要はありません。以下に示すように、それがなくても動作します

protected void Page_Load(object sender, EventArgs e)
{
    BackEndUtils.OverallLoader();

    string Teststr = Session["Co_ID"].ToString();
}
于 2011-12-27T16:17:43.760 に答える
1

あなたは試すことができます:

Teststr = Convert.ToString(Session["Co_ID"]);

nullsを処理します。また、チェックしてください:ページのセッション状態が無効になっていますか?

<%@ Page language="c#" ... EnableSessionState="false" %>

(その場合、おそらくもっと明白なエラーを予期していたでしょうが)

于 2010-04-05T08:27:06.200 に答える
1

おそらく「Co_ID」セッション パラメータが存在しません。前に確認してください:

if (Session["Co_ID"] != null) 
 {
   Teststr = Session["Co_ID"].ToString();
 }
于 2010-04-05T08:23:32.410 に答える
0

エラーはあなたのから来ている可能性がありますBackEndUtils.OverallLoader

セッション変数に関しては、誰かがログインせずにこのページにアクセスした場合、それは設定されません。セッションもタイムアウトした可能性があり、"Co_ID"設定されていません。

于 2010-04-05T08:26:18.893 に答える
0

例外は、次の 2 つの条件のいずれかで発生する可能性があります。

  1. の本体の何かがBackEndUtils.OverallLoader()例外を発生させます。
  2. 何らかの理由Session["Co_ID"]で null であり、null での呼び出しToString()は失敗します。

例外によって提供されるスタック トレースを使用して、どちらが正しいかを判断します。それが #1 である場合、さらにトラブルシューティングを行うために、そのメソッドのソースを確認する必要があります。#2の場合、コード内のその行の周りで手動で修正する必要があるかもしれません(とにかくそれをしたいかもしれません):

object id = Session["Co_ID"];
if (id == null)
{
    id = Session["Co_ID"] = LoadCoIdFromSomewhere();
}

string Teststr = id.ToString();
于 2010-04-05T08:23:54.330 に答える