我看到類似的帖子,但有些不明確。ASP.NET中繼器 - 如何刷新按鈕提交數據
這裏是轉發器頭:
<asp:Repeater ID="rptGetAll" OnItemCommand="Buttons_OnItemCommand" runat="server" OnLoad="rptGetAll_Load">
我有一個按鈕:
<asp:Button ID="Submit" runat="server" OnClick="Submit_Click" Text="Save" />
和我有後臺代碼插入/更新數據庫中的數據,然後我設置:
using (SqlConnection con = new SqlConnection(conString))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("administratorUpdate", con))
{
cmd.Parameters.Add("@originalID", SqlDbType.VarChar).Value = hfID.Value;
cmd.Parameters.Add("@firstName", SqlDbType.VarChar).Value = MyGlobals.SafeSqlLiteral(txtFirstName.Text, 2);
cmd.Parameters.Add("@lastName", SqlDbType.VarChar).Value = MyGlobals.SafeSqlLiteral(txtLastName.Text, 2);
cmd.Parameters.Add("@userName", SqlDbType.VarChar).Value = MyGlobals.SafeSqlLiteral(txtUserName.Text, 1);
cmd.Parameters.Add("@emailAddress", SqlDbType.VarChar).Value = MyGlobals.SafeSqlLiteral(txtEmailAddress.Text, 2);
cmd.Parameters.Add("@password", SqlDbType.VarChar).Value = MyGlobals.SafeSqlLiteral(txtPassword.Text, 1);
cmd.Parameters.Add("@isActive", SqlDbType.VarChar).Value = cbIsActive.Checked;
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
}
con.Close();
}
rptGetAll.DataSource = dt;
rptGetAll.DataBind();
//Output Success Message
Label lblErrorMessage = (Label)Master.FindControl("lblErrorMessage");
new MyGlobals().DisplayUserMessage("success", "Administrator Updated!", lblErrorMessage);
AdminForm.Visible = false;
但是,當頁面完成後,數據不會更新。我錯過了什麼?
UPDATE: 這是Repeater_Load:
protected void rptGetAll_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand cmd = new SqlCommand("administratorGetAll", con))
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
da.Fill(dt);
}
}
}
rptGetAll.DataSource = dt;
rptGetAll.DataBind();
}
你可以發佈rptGetAll_Load和Submit_Click的代碼嗎?你在數據綁定之前將數據源設置爲什麼? – 2010-12-16 01:45:54
@Abe我添加了OnLoad事件和OnClick – balexander 2010-12-16 01:55:57
這不是所有的onclick是嗎? – jcolebrand 2010-12-16 02:03:08