سلام استاد
من ی دیتا لیست دارم که مقادیری رو از بانک میگیره و نشون میده .
این دیتا لیست شامل سه button و یک lable هست .
میخوام وقتی کاربر روی هر کلیک میکنه مقدار lable همون سطر تغیر کنه . مشکل اینجاست که کاربر در هر کدوم از سطرها روی button کلیک میکنه فقط مقدار lable سطر اول تغیر میکنه .
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e) { try { int ProductId = Convert.ToInt32(DataList1.DataKeys[(int)e.Item.ItemIndex].ToString()); dalUser user = new dalUser(); DataTable dt = new DataTable(); int emtyaz = 0; user.username = Session["username"].ToString(); dt = user.selectuserbyid(); if (dt.Rows.Count > 0) { foreach (DataRow item in dt.Rows) { emtyaz = int.Parse(item["emtyaz"].ToString()); } if (emtyaz > 1000) { if(e.CommandName=="scound") { Thread th = new Thread(new ThreadStart(scound)); th.Start();//شروع یک نخ } else if(e.CommandName== "kharid") { Response.Redirect("user/kharid.asx?id=" + ProductId); } else if(e.CommandName=="min") { Thread th = new Thread(new ThreadStart(minuts)); th.Start();//شروع یک نخ } } else { string script = "alert(\"اعتبار کم !\");"; ScriptManager.RegisterStartupScript(this, GetType(), "ServerControlScript", script, true); } } } private void scound() { foreach (DataListItem item in DataList1.Items) { Label lb = item.FindControl("Label1") as Label; lb.ForeColor = System.Drawing.Color.Red; for (int i = 0; i < 5; i++) { Thread.Sleep(1000); lb.Text = i.ToString(); } } } private void minuts() { foreach (DataListItem item in DataList1.Items) { Label lb = item.FindControl("Label1") as Label; lb.ForeColor = System.Drawing.Color.Red; for (int i = 0; i < 5; i++) { Thread.Sleep(1000); lb.Text = i.ToString(); } } } }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)