none
ASPのパネル RRS feed

  • 質問

  • ASP1.1の開発で、こまってます。
    パネルを使っていましたが、パネルの部分をとりあえずコメントアウトして、使わないようしたのですが、エラーがでます。
    原因がわかりません

     

    ASP側では下記記載です。

     

    <aspStick out tongueanel id="Flash" Visible="False" Runat="server">

    省略

    </aspStick out tongueanel>

     

    上記の部分を削除し。

     

    CS側では下記記載です

     

    public class search : System.Web.UI.Page
     {
     
      protected Panel pnlMemFlash;
      protected Panel pnlGuestFlash;
     

      private void Page_Load(object sender, System.EventArgs e)
      {
       Response.Cache.SetCacheability(HttpCacheability.NoCache);
       // Put user code to initialize the page here
       if(!IsPostBack)
       {
        string id = User.Identity.Name;
        if(id != "")
        {
        
        // Flash.Visible = true;
         //Flash.Visible = false;
        }
        else

        {
         //Flash.Visible = false;
         //Flash.Visible = true;
        }

    省略


     

    エラーは下記です。

    どうかアドバイスお願いいたします。

    Server Error in '/xxxx' Application.

    --------------------------------------------------------------------------------

    Object reference not set to an instance of an object.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

    Source Error:

     

    Line 94:     else
    Line 95:     {
    Line 96:      //Flash.Visible = false;
    Line 97:      //Flash.Visible = true;
    Line 98:     }
     

     

    Source File: C:\Inetpub\wwwroot\xxxx\search.aspx.cs    Line: 96

    Stack Trace:

     

    [NullReferenceException: Object reference not set to an instance of an object.]
       lovelovecupid.en_searchResult.Page_Load(Object sender, EventArgs e) in C:\Inetpub\wwwroot\xxxx\search.aspx.cs:96
       System.Web.UI.Control.OnLoad(EventArgs e) +67
       System.Web.UI.Control.LoadRecursive() +35
       System.Web.UI.Page.ProcessRequestMain() +731

     

     

    2007年9月30日 2:48

すべての返信

  • C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Filesの中に、プロジェクト名のフォルダがあると思いますので、とりあえずそれを削除してみて下さい。

    2007年9月30日 6:44
    モデレータ
  • アドバイスありがとうございます。

     

    フォルダーを削除し、再度Start without deboggingで、ページを表示させれると、まだ以前のエラーが表示されます。

    そしてC:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Filesの中にフォルダーが作成されています。

    間違っている事があれば、再度アドバイスお願いいたします。

    よろしくお願いいたします。

    2007年9月30日 17:53
  • ダメでしたか・・・

     

    あとは、ビルドメニューの中に「ページのビルド」がありますので、そちらを試してみて下さい。

    2007年10月1日 1:23
    モデレータ
  •  

    インターネットオプションのインターネット一時ファイルの削除とかも一度やってみてはいかがでしょうか。

     

    ご確認願います。

    2007年10月1日 2:34
  • アドバイスありがとうございます。

    だめでした。。。

    2007年10月2日 3:35
  •  

    ビルドメニューの中に「ページのビルド」がみあたらないのですが。

    素人質問で大変申し訳ございません。

     

    ちなみにMicrosoft Visual Studio .NET 2003を使っています。

     

    2007年10月2日 3:39
  • VS2003には「ページのビルド」はありませんね・・・。

     

    さて、問題が発生しているのはコメントアウトしてる部分ですよね。

    う~ん、とりあえず、

    Aspnet_regiis.exe -i を実行されてみたらいかがでしょうか?

    Aspnet_regiis.exe -i は通常、以下のフォルダにあります。v1.1.4322はバージョン番号ですので、異なる可能性があります。

    C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

     

    これでダメだと、ページの作り直しでしょうか? 新しいページを作成して、今の内容をコピーするだけですので、そんなに手間ではないはずです。

     

    ASP.NET IIS 登録ツール (Aspnet_regiis.exe)
    http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cptools/html/cpgrfaspnetiisregistrationtoolaspnet_regiisexe.asp

    2007年10月2日 6:55
    モデレータ
  • ちと失礼します。

     

    このケースって、aspxやcsを保存しただけでビルドしなかった場合に発生すると思います。

    aspxからコントロール削除して、cs(私の場合はvbですが)の方を直して保存して、ブラウザからアドレス叩いて・・・あれ、なんでNULL参照?そういえばビルドしてなかったぁ ってことをよくやりました。

    エラー画面にパネル操作をコメントアウトしたソースコードが表示されるのは、デバッグ情報が入っているpdbファイルにはソースコードそのものを持っているわけではなく、ソースコードファイルへのパスを持っているだけだからでしょう。

     

    ただ、デバッグなしで開始で実行しているとのことですのでビルドはされているはずですよね。

     

    てなことを元に想像してみると、プロジェクトのプロパティでDLLの出力パスを変更したりしませんでしたか?

    Webアプリケーションはルート直下のbinフォルダを自動で参照するわけですが、それ以外の場所にDLLを出力してるのでは?

     

    そうだとしたら、ルート直下のbinフォルダのDLLは古いままですから、この現象が出る可能性があるかなと。

    2007年10月2日 8:08
  • みなさんの暖かいアドバイスに、感謝いたします。

     

    今確認をしました。ビルドしてもDLLは古いままになっておりました。

     

    このプロジェクトは、他にの方が作成していたものを引き継ぎ、CDでもらいました。

     

    フォルダーの中にすべてが入っていたので、C:\Inetpub\wwwroot\xxxの中にファイルを全て入れ、Solution ファイルを開き、無理やりというか?無理やりだと思います。。プロパティを変更しました。

     

    基本的な事を間違えているようです。

    ご面倒でも、最初の設定のやり方、ファイルの構成を教えていただけますでしょうか。

    よろしくお願いいたします。

     

     

    2007年10月3日 1:39