我新建了一个页面 default.aspx 它引用的母板masterdefault.master  我在default.aspx.cs中不能引用default.aspx中的组件   错误信息:“_Default”并不包含“GridView”的定义(编译时出错)

解决方案 »

  1.   

    在GridView里,加个属性 runat=“server”
      

  2.   

    GridView中有runat=“server”这个属性 会不会与母板有关系呀?
      

  3.   

    在母板页中要有一个放default页的位置:
    <div id="master_contentplaceholder"><asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" /></div>
            </div>
    然后在母板的cs文件中加入:
        public IList GetContentPlaceHolders()
        {
            return ContentPlaceHolders;
        }
    接着在default.aspx页中:
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
        <asp:GridView ID="GridView1" runat="server" >
        </asp:GridView.
    </asp:Content>
      

  4.   

    还是不行呀 还是原来那个错误 
    在default.aspx.cs中需要用using引用什么东西吗?
      

  5.   

    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;
      

  6.   

    using都一样 
    我把你教我的新建了一个文件试了试 可以的
     
    在我的default.aspx.cs中我用了自己写的一个类来连接数据库
     protected void Page_Load(object sender, EventArgs e)
        {
            datalink link = new datalink();        datalink为自定义的类
            this.GridView.DataSource = link.LinkD();  LinkD()是数据库连接
            this.GridView.DataBind();
           
        }这些会不会有影响呢?LinkD()为:public DataTable LinkD()
        {
            DataTable shuju = new DataTable();
            string sql = "select * from lite";
            this.FillDataSet(sql, shuju);
            return shuju;
        }
      

  7.   

    那你就运行一下看看了,最好在Page_Load里:
    datalink link = new datalink();   
    DataTable dt = new DataTable();
    dt = link.LinkD();
    GridView.DataSource = dt.DefaultView;
    GridView.DataBind();