2014-02-17 7 views
0

У меня проблема с отображением данных в виде сетки. Я новый ученик asp.net, пожалуйста, помогите мне. Мой код ниже: Проблема:отображение записей из базы данных в gridview

DataBinding: «System.Data.DataRowView» не содержит свойства с именем «news_id».

.aspx

<asp:GridView ID="GridView1" runat="server" class="international_news" AutoGenerateColumns="False" DataKeyNames="news_id">      
       <Columns> 
        <asp:BoundField DataField="news_id" Visible="false"/> 
        <asp:BoundField DataField="news_title"/>        
         <asp:TemplateField> 
          <ItemTemplate> 
          <asp:LinkButton ID="LinkButton1" runat="server" CommandName="ReadMore" CommandArgument='<%#Eval("news_id")%>'> 
          Read More 
          </asp:LinkButton> 
          </ItemTemplate> 
          </asp:TemplateField>      
        </Columns>   
       </asp:GridView> 

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

.aspx.cs

con.Open(); 
      string sqlString = "SELECT [news_id], [news_title] from upload_news"; 
      cmd = new SqlCommand(sqlString, con); 
      dr = cmd.ExecuteReader(); 

      DataTable dt = new DataTable(); 
      if (!this.IsPostBack) 
      { 

       dt.Columns.AddRange(new DataColumn[2] { new DataColumn("News Title", typeof(string)), 
       new DataColumn("News ID", typeof(string))}); 
       while (dr.Read()) 
       { 
        if (dr[1].ToString() != "yes") 
        { 
         dt.Rows.Add(dr[0].ToString()); 
         GridView1.DataSource = dt; 
         GridView1.DataBind(); 
        } 
       } 
      } 


      con.Close();     

ответ

1

Изменить это:

dt.Columns.AddRange(new DataColumn[2] { new DataColumn("News Title", typeof(string)), 
       new DataColumn("News ID", typeof(string))}); 

в

dt.Columns.AddRange(new DataColumn[2] { new DataColumn("news_title", typeof(string)), 
       new DataColumn("news_id", typeof(string))}); 
+0

Спасибо за ответ, и теперь он работоспособен. bdn02 –

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