【发布时间】:2012-09-20 17:21:52
【问题描述】:
当我单击提交按钮数据插入数据库时,我正在向数据库插入数据,但在不刷新页面的情况下,不会在 GridView 中反映任何更改。 我也使用了 DataBind()。
【问题讨论】:
-
当你问这样的问题时应该显示一些代码。提供适当的答案会容易得多。
标签: asp.net
当我单击提交按钮数据插入数据库时,我正在向数据库插入数据,但在不刷新页面的情况下,不会在 GridView 中反映任何更改。 我也使用了 DataBind()。
【问题讨论】:
标签: asp.net
添加就够了
YourGridView.DataBind();
在您的按钮 onclick 事件中......无需在 Page_Load 中也绑定它
你有更新面板吗?
【讨论】:
只需使用填充 GridView 的过程,然后调用该过程 OnClick 事件。
希望对你有帮助
【讨论】:
您可以使用此代码 - 基于DataBind 两次
注意:您不仅可以在 Page_Load 中添加此 DataBind,还可以在 click 委托中添加此 DataBind
//Your Insert in your delegate
....
YourGridView.DataBind();
【讨论】:
您必须通过您使用的任何方式刷新 gridviews 数据源,例如 sql 查询,然后将数据源设置为此,然后使用 Gridview1.DataBind();
public void GetData()
{
try
{
SqlConnection connection = new SqlConnection();
connection.ConnectionString = ConfigurationManager.ConnectionStrings["mysql"].ConnectionString;
String sql = "Your Query";
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sql, connection);
da.Fill(ds);
DataTable dt = new DataTable();
dt = ds.Tables[0];
GridView1.DataSource = dt;
}
catch (SqlException ex)
{
}
catch (Exception e)
{
}
}
然后在绑定 gridview 之前使用 GetData()(可能在页面加载事件中)。
【讨论】:
你也可以在你的 rowCommand 中做:
gridView_RowCommand(object sender, GridViewCommandEventArgs e){
gridView.EditIndex = -1; // to cancel edit mode
}
【讨论】: