PDA

View Full Version : سوال: ایجاد یک دکمه به صورت داینامیک درون یک پنل داینمیک و ایجاد رخداد آن



hoda mohammadi
دوشنبه 15 فروردین 1390, 11:25 صبح
با سلام

من یک دکمه درون یک پنل داینامیک دارم و می خواهم وقتی دکمه را کلیک کردم مقادیر داخل پنل را در درون دیتابیس ذخیره کنم. من یک event برای دکمه نوشتم ولی وقتی برنامه را اجرا می کنم و دکمه را کلیک می کنم به این event دسترسی پیدا نمی کنه و فقط یک postBack انجام می دهد و هیچ مقداری در دیتا بیس ذخیره نمی شود .

تابع ایجاد پنلم به صورت زیر است:




privatevoid CreateDynamicPanel(int ServiceRequestID, string RequestDate, string Problem, string RequestDescription, DateTime SeenDate, int? StimateTimeID, bool? checkPerform, string Description, bool TextReadOnly)
{
PlaceHolder1.Controls.Clear();
 
Telerik.Web.UI.RadComboBox cmbEstimateTime = new Telerik.Web.UI.RadComboBox();TableRow tr7 = newTableRow();
TableCell tc71 = newTableCell();
tr7.Cells.Add(tc71);
TableCell tc73 = newTableCell();
Button btnSave = newButton();
btnSave.ID = "btnSave";
btnSave.Text = "ثبت";
btnSave.Click +=newEventHandler(this.btnSave_Click);
tc73.Controls.Add(btnSave);
tr7.Cells.Add(tc73);
 
TableCell tc72 = newTableCell();
tr7.Cells.Add(tc72);
tbl.Rows.Add(tr7);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
}

 
 
  

 کد مربوط به event دکمه به صورت زیر است:





void btnSave_Click(object sender, System.EventArgs e)
{
int count = CDS.Portal.Logic.BusinessObjects.UI.Proceeding.che ckProceedingRecords(CDS.Portal.Logic.BusinessObjec ts.UI.General.serviceRequestID, CDS.Portal.Logic.BusinessObjects.UI.General.Reques tStatusID);
if (count == 0)
{
CDS.Portal.DataAccess.tS004Proceeding Proceeding = new CDS.Portal.DataAccess.tS004Proceeding();
Label SeenTime_ = (Label)FindControl("lblSeenTime");
Proceeding.BeginTime = SeenTime_.Text;
Proceeding.EndTime = DateTime.Now.Hour + ":" + DateTime.Now.Minute;
Proceeding.SeeDate = CDS.Portal.Logic.BusinessObjects.UI.General.seenDa te;
TextBox txtProceeding_ = (TextBox)FindControl("txtProceeding");
Proceeding.Description = txtProceeding_.Text;
Label lblServiceRequestID = (Label)FindControl("lblRequestID");
Proceeding.ServiceRequestID = int.Parse(lblServiceRequestID.Text);
Proceeding.UserID = int.Parse(Session["UserID"].ToString());
Proceeding.UpdateUserID = int.Parse(Session["UserID"].ToString());
CheckBox chkPerformed_ = (CheckBox)FindControl("chkPerformed");
Proceeding.CheckPerform = chkPerformed_.Checked;
Telerik.Web.UI.RadComboBox cmbEstimateTime_ = (Telerik.Web.UI.RadComboBox)FindControl("EstimateID");
Proceeding.EstimateTimeID = int.Parse(cmbEstimateTime_.SelectedValue);
Proceeding.CountPerform = 1;
Proceeding.PerformDate = DateTime.Now;
Proceeding.RequestStatusID = CDS.Portal.Logic.BusinessObjects.UI.General.Reques tStatusID;
CDS.Portal.Logic.BusinessObjects.UI.Proceeding.Cre ate(Proceeding);
 
}

}



 

 

لطفا مشکل من را بررسی کنید و جواب دهید. ممنون می شم. 

 
 
 
 



 

hoda mohammadi
دوشنبه 15 فروردین 1390, 12:00 عصر
من تابع
CreateDynamicPanel را در درون دکمه show از یک گرید گذاشتم ولی وقتی این تابع را در درون page_load می گذارم و برنامه را اجرا می کنم ، وقتی دکمه ثبت را کلیک می کنم وارد evet اش می شود و کدهای آن event را اجرا می کند . ولی وقتی دکمه show گرید را می زنم و پنل ایجاد می شود و بعد دکمه ثبت را می زنم وارد event دکمه ثبت نمی شود. دلیل چیست؟

aserfg
دوشنبه 15 فروردین 1390, 13:02 عصر
کدهایی که گذاشتید ناخوانا هستند ...