我正在尝试向ASP.NET应用程序显示数据集。似乎当我单击按钮事件时,数据不会显示在网格中。
我有一个基本页面,其中包含以下内容:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel runat="server" id="UpdatePanel" updatemode="Conditional">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" Width="200" Height="300">
</asp:GridView>
<asp:Button runat="server" id="UpdateButton1" onclick="UpdateButton_Click" text="Update" />
</ContentTemplate>
</asp:UpdatePanel>
</form>
然后在后面的代码中,我有以下内容:
protected void UpdateButton_Click(object sender, EventArgs e)
{
string SQLConfigSettings = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(SQLConfigSettings);
sqlconn.Open();
SqlDataAdapter adapter = new SqlDataAdapter("Select * from Student", sqlconn);
DataSet ds = new DataSet();
adapter.Fill(ds);
GridView1.DataSource = ds;
UpdatePanel.Update();
}
我错过了什么吗? Shoudlnt数据集是否在网格中显示? 当我点击按钮时没有任何反应。
谢谢:)
答案 0 :(得分:1)
您需要添加
在GridView1.DataBind()
之后 Gridview1.DataSource
。
所以它变成了:
...
DataSet ds = new DataSet();
adapter.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
UpdatePanel.Update();
如果您需要有关.DataBind方法的更多信息,请选中MSDN on it
答案 1 :(得分:0)
GridView1.DataSource = ds;
尝试提及数据集内的表格。像ds.Tables [0]或者如果你知道表的名称ds.Tables [“table_name”]
答案 2 :(得分:0)
在UpdateButton_Click
的第一行代码上放置一个断点并运行它。
那个断点到了吗?
在此之后逐步执行每行代码并检查变量值。 DataSet
被填满了吗?你能看到DataTable
及其DataRows
吗?
如果您到达此事件代码并拥有数据,则需要查看数据绑定。在设置GridView.DataBind()
之后和执行DataSource
之前,您需要立即UpdatePanel.Update()
。然后你应该好好去。