2016-12-21 4 views
2

Я новичок в C#. Просто следуя простому примеру YouTube и пытайтесь просто подключиться к базе данных SQL. Но GridView1 дает мне ошибку. Thes мои WebForm1.aspx.csИмя gridview1 не существует в текущем контексте

using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.SqlClient; 
using System.Data.OleDb; 
using System.Data.Odbc; 



namespace adoDemo 
{ 
    public partial class WebForm1 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      String CS = "data source =.; database = AdventureWorks2016CTP3; integrated security = SSPI"; 
      SqlConnection con = new SqlConnection(CS); 
      SqlCommand cmd = new SqlCommand("select top 5 * from [Sales].[CreditCard]", con); 
      con.Open(); 
      GridView1.DataSource = cmd.ExecuteReader(); 
      GridView1.DataBind(); 
      con.Close(); 
     } 
    } 
} 

Это WebForm.aspx.designer.cs

//------------------------------------------------------------------------------ 
// <auto-generated> 
//  This code was generated by a tool. 
// 
//  Changes to this file may cause incorrect behavior and will be lost if 
//  the code is regenerated. 
// </auto-generated> 
//------------------------------------------------------------------------------ 

namespace adoDemo { 


    public partial class WebForm1 
    { 

     /// <summary> 
     /// form1 control. 
     /// </summary> 
     /// <remarks> 
     /// Auto-generated field. 
     /// To modify move field declaration from designer file to code-behind file. 
     /// </remarks> 
     protected global::System.Web.UI.HtmlControls.HtmlForm form1; 
    } 
} 

И это WebForm1.aspx

<script runat="server"> 

    Protected Sub Unnamed1_SelectedIndexChanged(sender As Object, e As EventArgs) 

    End Sub 
</script> 
body 

<asp:gridview id="GridView1" runat="server" OnSelectedIndexChanged="Unnamed1_SelectedIndexChanged" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2"> 
    <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" /> 
    <HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" /> 
    <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" /> 
    <RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" /> 
    <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" /> 
    <SortedAscendingCellStyle BackColor="#FFF1D4" /> 
    <SortedAscendingHeaderStyle BackColor="#B95C30" /> 
    <SortedDescendingCellStyle BackColor="#F1E5CE" /> 
    <SortedDescendingHeaderStyle BackColor="#93451F" /> 
</asp:gridview> 

Это как мой WebForm1.aspx.designer.cs выглядит как

enter image description here Есть ли что-нибудь, что мне не хватает?

ответ

4

Вам нужно добавить id="GridView1" в Gridview

<asp:gridview id="GridView1" runat="server" OnSelectedIndexChanged="Unnamed1_SelectedIndexChanged" 
BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2"> 
+0

#Vinh Vu, я добавил 'ID = "GridView1"' в файле WebForm1.aspx. (Отредактировано выше). Это верно? Но у меня все еще такая же ошибка в WebForm1.aspx.cs. Извините, это мой первый проект. Спасибо – Oleg

+0

Какая ошибка? –

+0

Тот же самый 'Имя GridView1 не существует в текущем контексте'. Спасибо – Oleg

2

Дизайнер страницы иногда не отказываются добавлять элементы управления в файл .designer.cs; Я видел это несколько раз.

Если это произойдет, добавьте переменную уровня класса самостоятельно в .aspx.cs: -

namespace adoDemo 
{ 
    public partial class WebForm1 : System.Web.UI.Page 
    { 
     // make sure its's the same spelling & case as in the .aspx 
     protected GridView GridView1; 

     protected void Page_Load(object sender, EventArgs e) 
     { 
      // etc 
     } 
    } 
} 
+1

Большое спасибо !!! – Oleg

 Смежные вопросы

  • Нет связанных вопросов^_^