【问题标题】:gridview is displaying incorrect data from databasegridview 显示来自数据库的不正确数据
【发布时间】:2020-11-07 07:58:17
【问题描述】:

当我尝试使用选择数据源选项在 gridview 中显示数据时,它显示的数据不正确。 .cs 文件中没有代码,只有 aspx 文件有代码。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataKeyNames="emp_id" AlternatingRowStyle-HorizontalAlign="Center" DataSourceID="EntityDataSource1">
   <Columns>
      <asp:BoundField DataField="Id" HeaderText="Id" SortExpression="Id" />
      <asp:BoundField DataField="emp_id" HeaderText="emp_id" ReadOnly="True" SortExpression="emp_id" />
      <asp:BoundField DataField="asset_type" HeaderText="asset_type" SortExpression="asset_type" />
      <asp:BoundField DataField="asset_name" HeaderText="asset_name" SortExpression="asset_name" />
   </Columns>
   <FooterStyle BackColor="White" ForeColor="#000066" />
   <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
   <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
   <RowStyle ForeColor="#000066" />
   <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
   <SortedAscendingCellStyle BackColor="#F1F1F1" />
   <SortedAscendingHeaderStyle BackColor="#007DBB" />
   <SortedDescendingCellStyle BackColor="#CAC9C9" />
   <SortedDescendingHeaderStyle BackColor="#00547E" />
</asp:GridView>
<asp:EntityDataSource ID="EntityDataSource1" runat="server" ConnectionString="name=AssetDB" DefaultContainerName="AssetDB" EnableDelete="True" EnableFlattening="False" EntitySetName="asset_request">
</asp:EntityDataSource>

后端代码

public partial class Request : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

【问题讨论】:

  • 正如我所说,没有后端代码 public partial class Request : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } }

标签: asp.net entity-framework gridview


【解决方案1】:

您可以尝试在页面加载事件上编写一个简单的 SQL 选择查询,看看现在数据是否正确加载。

public partial class Request : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        try{
          string query = "select * from asset_request";
          SqlConnection con = new SqlConnection("YourConnectionString");
          con.Open();
          SqlCommand cmd = new SqlCommand(query,con);
          
          DataTable dt = new DataTable();
          SqlDataAdapter da = new SqlDataAdapter();
          da.SelectCommand = cmd;  
          da.Fill(dt);
          if(dt != null)
          {
             GridView1.DataSource= dt;
             GridView1.DataBind();
          }
          con.Close();
        } 
        catch(Exception ex) { 

        }
    }
}

【讨论】:

  • 我用 sql 试了一下,它可以工作,但我仍然想知道为什么它不能与实体框架一起工作
  • @brutospop 删除您的 Gridview 并重新绑定所有内容。然后转到您的解决方案资源管理器 > 清理您的解决方案(通过右键单击您的项目)> 重新构建,然后运行。
  • @brutospop 您可能指向其他具有相同表名的数据库。在这种情况下,EF 映射不正确的数据。尝试像我提到的那样删除所有内容并重新绑定。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-27
  • 2016-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-28
相关资源
最近更新 更多