【发布时间】:2015-09-07 18:05:33
【问题描述】:
ASP.NET 中的 GridView:
<div>
<asp:Panel ID="Panel_listview" runat="server" Font-Names="Arial" HorizontalAlign="Center">
<asp:GridView ID="gridview_book_info" runat="server"></asp:GridView>
</asp:Panel>
</div>
VB 中的Page_Load:
Dim gridview_detail As String
gridview_detail = "select * from book;"
da = New MySqlDataAdapter(gridview_detail, cn)
da.Fill(ds, "book")
gridview_book_info.DataSource = ds
gridview_book_info.DataBind()
注意事项:
-
cn是 MySQL 连接 -
ds是 数据集
这是我的问题:
当我调试时,Page_Load 被触发,gridview 从 mysql 数据库 获取数据并显示它。示例:
ABCDE (header)
abcde
但是当我刷新页面时,gridview会变成这样:
ABCDE (header)
abcde
abcde
每当我刷新页面时,它都会从 mysql 数据库中复制日期,我尝试过:
- 检查 IsPostBack 是否为真,然后禁用数据检索。
- 在数据检索前将数据源设置为 Nothing
- 检查 gridview 行数是否为零
我想知道的:
- IsPostBack 旁边的其他代码来真正检查页面是否真的刷新,然后我可以阻止 gridview 再次从 mysql 数据库中检索数据。
- 阻止 GridView 复制,因为我无法阻止用户使用刷新按钮
我需要帮助!
【问题讨论】:
-
设置gridview的
AutoGenerateColumn = false并检查。还有一件事,这里的重复数据是什么意思。重复的列或行? -
将自动生成列设置为 false 后,我的 gridview 消失了。
-
复制数据意味着它在我的 Page_Load 中重复该过程
-
你的gridview有记录吗?
-
我在asp.net中添加gridview时,如果我没有使用数据适配器和数据集绑定它应该是空白的