visual 2005 在编译我得网页时总是报“当前文件中不存在名称”某某,这些报错的页面在前几天都是可以编译执行的!这是为什么呀?
程序代码片断:(index.aspx.cs页面)
    private void Add_ad()
    {
        string fClass = "新闻中心首页";
        string loca = "3";
        SqlConnection conn = DbConn.CreateDbCon();
        conn.Open();
        Advertisement ad = new Advertisement(fClass, loca, conn);
        pic.InnerHtml = ad.doAD();
        conn.Close();
        ad = null;
    }    private void FlaNews()
    {
        string fClass = "新闻中心首页";
        string loca = "2";
        SqlConnection conn = DbConn.CreateDbCon();
        conn.Open();
        Advertisement ad = new Advertisement(fClass, loca, conn);
        pic.InnerHtml = ad.doAD();
        conn.Close();
        ad = null;
    }
提示给我说:Error 3 当前上下文中不存在名称“pic”…………
pic是一个服务器段的控件 <div id="pic" runat="server"></div>(index.aspx页面代码)
再写pic.InnerHtml = ad.doAd();的时候,系统自动提示列表也能出现pic的名称,选择完按“.”也会出现自动提示列表选择InnerHtml属性。从装了.net2005还是不行!!!各位高手帮帮我吧!也没有修改pic的名称啊!
要是修改了名称,在写完pic后,点"."的时候就不会自动出现辅助列表选择属性了!
必须用Page.FindControl("控件名")才能找到控件!要是直接通过浏览器输入路径浏览就不会有问题,可以正常浏览!只是用visual 2005启动时会报这个错误!
代码太多,简化了一些贴一部分吧!
<!--index.aspx-->
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="news_index" %>
…………
…………
<div id="picnews">
<div id="pic" runat="server"></div>
</div>
…………
<!--index.aspx.cs-->
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;public partial class news_index : System.Web.UI.Page
{           
    private SqlConnection con = DbConn.CreateDbCon();
    public string temp;
    
    
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            con.Open();
            FlaNews();
        }
    }    protected void FlaNews()
    {
        pic.InnerHtml = "测试文字";
    }
}报错就会在pic.InnerHtml这里!

解决方案 »

  1.   

    呵呵,我也碰到与楼主一样的问题了,还以为是MS的BUG,想想用了5年了,不可能是BUG吧,查询后,解决了的问题。造成这种原因的根本原因在于,当你建一个新文件时,为了方便,我现成的文件来拷贝,结果出现两个相同的。CS类即 partial class,两个不同文件的ASPX相同而ASPx。CS中类却一样的东东,一个的其中文件发生了改变,而另一个根本就没有变化。只是用户根本就不知道啊。举个例子,你建一个TEST。ASPX ,这时在TEST.ASPX.CS中会生成一个XXX_TEST的类(XXX可能是目录)
    然后拷贝粘贴一个TEST。ASPX,改名为TEST123。ASPX,在TEST123。ASPX。CS中的类却根本就没有发生改变,这时候类还是XXX_TEST
    这时会出现两个不同的。ASPX文件有一个相同的类代码,只要一方发生改变,另一个就会出错避免的方法,最好新建文件后复制相同代码即可。
      

  2.   

    从装了.net2005还是不行!!!
    ==================================
    你太强了~~
    一个小问题把你害得要重装VS 2005!!!