私は同様の投稿を見ましたが、一部は明確ではありませんでした。ここで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です:あなたは以前満たされたDataTable dtをしてリピータを結合しているこの
cmd.Parameters.Add("@originalID", SqlDbType.VarChar);
cmd.Parameters["@originalID"].Value = hfID.Value;
rptGetAll_LoadとSubmit_Clickからコードを投稿できますか?あなたがデータバインドする前に、あなたは何のデータソースを設定していますか? –
@Abe私はOnLoadイベントとOnClickを追加しました – balexander
それは本当にすべてのオンクリックではありませんか? – jcolebrand