PDA

View Full Version : سوال: ایجاد دکمه در زمان اجرا



FirstLine
پنج شنبه 17 بهمن 1392, 07:48 صبح
با سلام
در زمان لود صفحه یک سری اطلاعات از دیتابیس و جدول(دو فیلد ID , Title) را خوانده و در یک Literal نمایش میدهم.
نحوه نمایش به این صورت است:
<br>:: ID - Title
یک تابع دارم که ID رو میگیره و اون رکورد رو پاک میکنه: P_Delete(int ID)

حالا میخوام در زمان اجرا در جلوی هر رکورد یک دکمه قرار بدهم که با زدن آن id مربوط به همان رکورد را به تابع P_Delete ارجاع بدهد.

لطفا راهنمایی بفرماییید که چجوری این دکمه را در زمان اجرا ایجاد و در بین رشته های ایجاد قده قرار داده و در Literal نمایش بدهم؟
با تشکر

kablayi
پنج شنبه 17 بهمن 1392, 12:17 عصر
توی Page_Load اینو بنویس:

string DelID = Convert.ToString(Request.QueryString["DelID"]);
if (!IsPostBack)
{
if (!string.IsNullOrEmpty(DelID))
{
bool success = P_Delete(DelID);// خروجی تابع رو از نوع bool
if (success)
lblMessage.Text = "عملیات حذف با موفقیت انجام شد";
else
lblMessage.Text = "عملیات حذف با مشکل مواجه گردید";
}
}
Literal.Text = GetHtmlCodeWithDataFromTable();// تابعی که کدهای اچ تی ام ال رو برای نمایش میسازه


برای نمایش لینک حذف هم از لینک معمولی "<a>" استفاده کنید میتونید از یه تصویر علامت ضربدر قرمز و یا یه لینک معمولی استفاده کنید
خصوصیت href رو هم برابر همون صفحه با پارامتر DelID که در page_load خونده میشه قرار بدید:

public string GetHtmlCodeWithDataFromTable()
{
//ساخت هدر جدول
String Tag="<table class=\"TableViewRecord\" dir=\"rtl\">" +
"<tr class=\"TableViewRecordHeaderRow\">" +
"<td class=\"CellCss1\">شماره</td>" +
"<td class=\"CellCss2\">تیتر</td>" +
"<td class=\"CellCss3\"></td>" +
"</tr>";
//ساخت محتوایات جدول
DataTable dt = new DataTable();
dt = GetDataFromTable();
if (dt.Rows.Count > 0)
{
for(i=0;i<dt.Rows.Count; i++)
{
tag += "<tr class=\"TableViewRecordHeaderRow\">" +
"<td class=\"CellCss1\">" + Convert.ToString(dt.Rows[i][0]) + "</td>" + //ID
"<td class=\"CellCss2\">" + Convert.ToString(dt.Rows[i][1]) + "</td>" + //Titr
"<td class=\"CellCss3\"><a href=\"Page.aspx?DelID=" + Convert.ToString(dt.Rows[i][0]) + "\" title=\"حذف\" onclick=\"return confirm('اطلاعات حذف شود؟')\"><img src=\"img/delete.png\" width=\"20\" /></a></td>" + //نمایش لینک حذف
"</tr>";
}
tag += "</table>";
}
else
{
tag += "</table>";
tag += "<div>اطلاعاتی برای نمایش وجود ندارد</div>";
}
return tag;
}


یه چیزی شبیه به این :
116450