我试图在插入后刷新网格视图,但它不适合我,这是我的代码:
<asp:TextBox ID="TimeBox" runat="server" />
<asp:TextBox ID="CommentBox" runat="server" TextMode="MultiLine" />
<asp:Button ID="insButton" runat="server" OnClick="insert" Text="Insert" />
<asp:GridView ID="MainGrid" runat="server">
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
这是背后的代码:
protected void Page_Load(object sender, EventArgs e)
{
// filling the grid view
SqlConnection conn = new SqlConnection (@"connectionString");
SqlCommand cmd = new SqlCommand("SELECT tim,com FROM ten",conn);
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
MainGrid.DataSource = ds;
MainGrid.DataBind();
}
protected void insert(object sender, EventArgs e) //adding the comments
{
SqlConnection conn = new SqlConnection(@"connectionString");
SqlCommand cmd = new SqlCommand("INSERT INTO tennis (tim,com) VALUES (@tim,@com)", conn);
cmd.Parameters.AddWithValue("@tim", TimBox.Text);
cmd.Parameters.AddWithValue("@com", ComBox.Text);
conn.Open();
cmd.ExecuteNonQuery();
MainGrid.DataBind();
conn.Close();
}
Run Code Online (Sandbox Code Playgroud)
插入工作正常,如果我刷新页面,我可以看到数据,但我只是刷新网格视图而不刷新页面.
现在您已插入记录,您需要使用该新数据重新绑定数据网格.我建议稍微重新调整你的代码,这样你就不会违反DRY原则(不要重复自己)并将数据调用解压缩到它自己的方法中.
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
MainGrid.DataSource = GetData();
MainGrid.DataBind();
}
}
protected void insert(object sender, EventArgs e) //adding the comments
{
SqlConnection conn = new SqlConnection(@"connectionString");
SqlCommand cmd = new SqlCommand("INSERT INTO tennis (tim,com) VALUES (@tim,@com)", conn);
cmd.Parameters.AddWithValue("@tim", TimBox.Text);
cmd.Parameters.AddWithValue("@com", ComBox.Text);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
MainGrid.DataSource = GetData();
MainGrid.DataBind();
}
protected DataSet GetData()
{
SqlConnection conn = new SqlConnection (@"connectionString");
SqlCommand cmd = new SqlCommand("SELECT tim,com FROM ten",conn);
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1596 次 |
| 最近记录: |