次のことを行う Web フォームがあります。
ページの初期化で、入力されるドロップダウンがあります。この部分は正常に機能し、
if(!IsPostBack) {}
ルーチンに含まれています。この部分は正常に動作します。ドロップダウンリストから値を選択すると、すべてのテキスト ボックス フィールドにデータベースからの値が入力され、フィールドが編集からグレー表示されます。これは in で発生しますが、
if(IsPostBack) {}
これも問題ありません。チェックボックスがあります。チェックボックスをクリックすると、すべてのテキストボックスフィールドが編集可能になります。これは、ルーチン内のすべてのテキスト ボックス フィールドの名前を変更するための if (IsPostBack) {} 内でも発生します。
protected void performUpdate_CheckedChanged(object sender, EventArgs e) { if (performUpdate.Checked) { performDeactivate.Enabled = false; txtFirstName.Enabled = true; txtLastName.Enabled = true; txtContactNumber.Enabled = true; } // just enabling all of the textbox fields do not worry about closing brackets.
問題が発生しました。テキストボックスのテキストを変更して送信をクリックすると、データベースを更新するルーチンがあり、データベースが更新されません。まったく同じ値を送信したかのようです。UpdateDate
フィールドが現在の時刻でタイムスタンプされることを除いて。
これが私の送信ボタンのコードです..
if (IsPostBack)
{
using (SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["3stepMacro"].ToString()))
{
bldSQL = "UPDATE dbo.LoanOwnerStamp SET FirstName =@FirstName,LastName = @LastName,ContactNumber = @ContactNumber,ContactExt= @ContactExt ,EmailAddress= @EmailAddress,Fax= @Fax, LocationCity= @LocationCity, LocationState = @LocationState,BeginWorkHrs= @BeginWorkHrs,BeginWorkTime = @BeginWorkTime,EndWorkHrs= @EndWorkHrs,EndWorkTime= @EndWorkTime,Zone= @Zone,TeamMemberLanId= @TeamMemberLanId,ManagerId= @ManagerId ,UpdatedDate= @UpdateDate WHERE TeamMemberLanId = @TeamMemberLanId";
// using (SqlCommand updatetLSTeamMember = new SqlCommand("sp_UpdateTeamMemberProfile", myConnection))
using (SqlCommand updatetLSTeamMember = new SqlCommand(bldSQL, myConnection))
{
// updatetLSTeamMember.CommandType = CommandType.StoredProcedure;
// string wrokingHrs = ddlBeginHrs.SelectedValue + " " + ddlBeginTime.SelectedValue + " " + lblTo.Text + " " + ddlEndHrs.SelectedValue + " " + ddlEndTime.SelectedValue;
/* updatetLSTeamMember.Parameters.Add("@FirstName", SqlDbType.VarChar, 25).Value = txtFirstName.Text;
updatetLSTeamMember.Parameters.Add("@LastName", SqlDbType.VarChar, 30).Value = txtLastName.Text;
updatetLSTeamMember.Parameters.Add("@ContactNumber", SqlDbType.VarChar, 20).Value = txtContactNumber.Text;
updatetLSTeamMember.Parameters.Add("@ContactExt", SqlDbType.VarChar, 20).Value = txtContactExt.Text;
updatetLSTeamMember.Parameters.Add("@EmailAddress", SqlDbType.VarChar, 100).Value = txtEmailAddress.Text;
updatetLSTeamMember.Parameters.Add("@Fax", SqlDbType.VarChar, 25).Value = txtFax.Text;
updatetLSTeamMember.Parameters.Add("@LocationCity", SqlDbType.VarChar, 20).Value = txtLocationCity.Text;
updatetLSTeamMember.Parameters.Add("@LocationState", SqlDbType.VarChar, 20).Value = txtState.Text;
updatetLSTeamMember.Parameters.Add("@BeginWorkHrs", SqlDbType.Int).Value = ddlBeginHrs.SelectedValue.ToString();
updatetLSTeamMember.Parameters.Add("@BeginWorkTime", SqlDbType.VarChar, 20).Value = ddlBeginTime.SelectedValue.ToString();
updatetLSTeamMember.Parameters.Add("@EndWorkHrs", SqlDbType.Int).Value = ddlEndHrs.SelectedValue.ToString();
updatetLSTeamMember.Parameters.Add("@EndWorkTime", SqlDbType.VarChar, 20).Value = ddlEndTime.SelectedValue.ToString();
updatetLSTeamMember.Parameters.Add("@Zone", SqlDbType.VarChar, 20).Value = ddlZone.SelectedItem.Text;
updatetLSTeamMember.Parameters.Add("@TeamMemberLanId", SqlDbType.VarChar, 20).Value = txtTeamMemberLaniId.Text;
updatetLSTeamMember.Parameters.Add("@ManagerId", SqlDbType.VarChar, 20).Value = gblUserId;
updatetLSTeamMember.Parameters.Add("@UpdateDate", SqlDbType.DateTime).Value = DateTime.Now.ToLocalTime(); */
updatetLSTeamMember.Parameters.AddWithValue("@FirstName", gblFirstName );
updatetLSTeamMember.Parameters.AddWithValue("@LastName", txtLastName.Text);
updatetLSTeamMember.Parameters.AddWithValue("@ContactNumber", txtContactNumber.Text);
updatetLSTeamMember.Parameters.AddWithValue("@ContactExt", txtContactExt.Text);
updatetLSTeamMember.Parameters.AddWithValue("@EmailAddress", txtEmailAddress.Text);
updatetLSTeamMember.Parameters.AddWithValue("@Fax", txtFax.Text);
updatetLSTeamMember.Parameters.AddWithValue("@LocationCity", txtLocationCity.Text);
updatetLSTeamMember.Parameters.AddWithValue("@LocationState", txtState.Text);
updatetLSTeamMember.Parameters.AddWithValue("@BeginWorkHrs", ddlBeginHrs.SelectedValue.ToString());
updatetLSTeamMember.Parameters.AddWithValue("@BeginWorkTime", ddlBeginTime.SelectedValue.ToString());
updatetLSTeamMember.Parameters.AddWithValue("@EndWorkHrs", ddlEndHrs.SelectedValue.ToString());
updatetLSTeamMember.Parameters.AddWithValue("@EndWorkTime", ddlEndTime.SelectedValue.ToString());
updatetLSTeamMember.Parameters.AddWithValue("@Zone", ddlZone.SelectedItem.Text);
updatetLSTeamMember.Parameters.AddWithValue("@TeamMemberLanId", txtTeamMemberLaniId.Text);
updatetLSTeamMember.Parameters.AddWithValue("@ManagerId", gblUserId);
updatetLSTeamMember.Parameters.AddWithValue("@UpdateDate", DateTime.Now.ToLocalTime());
updatetLSTeamMember.CommandText = bldSQL;
updatetLSTeamMember.CommandType = CommandType.Text;
// pID = updatetLSTeamMember.Parameters.Add("@return_value", SqlDbType.Int);
// pID.Direction = ParameterDirection.Output;
try
{
if (updatetLSTeamMember.Connection.State == ConnectionState.Closed)
{
updatetLSTeamMember.Connection.Open();
}
// string idcat = updatetLSTeamMember.ExecuteNonQuery().ToString();
rowsAffected = updatetLSTeamMember.ExecuteNonQuery();
// string idcat = updatetLSTeamMember.Parameters["@return_value"].SqlValue.ToString();
if (rowsAffected == 1)
{
success = rowsAffected.ToString();
lblError.Text = "Successfully Updated a Team Member!";
lblCode.Text = success.ToString();
return;
}
else if (rowsAffected == 0)
{
fail = rowsAffected.ToString();
lblError.Text = "Team Member-No Rows Affected !!";
lblCode.Text = fail.ToString();
return;
}
/*
rowsAffected = insertLSTeamMember.ExecuteNonQuery();
if (rowsAffected == 1)
{
carryOn = rowsAffected;
lblLoanStamp.Text = "Successfully Added a Manager!";
lblReturnCode.Text = carryOn.ToString();
return;
}
else if (rowsAffected == -1)
{
carryOn = rowsAffected;
lblLoanStamp.Text = "Manager Already exists, Use Update / Deactivate for Maintenance !!";
lblReturnCode.Text = carryOn.ToString();
return;
}
*/
} // end try
今、私の懸念は Page_load ルーチンです。if(IsPostBack)
これは、db にクエリを実行し、テキスト フィールドに事前入力する必要があるためです。これで、送信ボタンがテキストの変更をまったく受けなくなりました。テキストボックスの変更された値が取得されず、データベースに送信されないのはなぜですか? フォームは、列に新しいタイムスタンプを付けて、すべてをそのまま送り返しUpdateDate
ます。どんな助けでも大歓迎です。ありがとう。