PDA

View Full Version : پیام تاییدیه قبل از حذف در grid view



angel farahani
پنج شنبه 07 فروردین 1393, 12:55 عصر
سلام دوستان ، من یک linkbutton برای حذف در گرید گذاشتم ، میخوام با زدن آن قبل از حذف پیامی بده که بله و خیر داشته باشه و با زدن بله رکورد را پاک کنه و با خیر برگرده به همون صفحه .

حالا در انجمن سرچ کردم ، چند مورد بود اما برای من خطا داره و نمی دونم مشکلش چیه ؟

خطای : Identifier expected; 'return' is a keyword



<script> function ConfirmOnDelete(item) {
if (confirm("Would you like to delete selected item(s)?") == true)
return true;
else
return false;
}
</script>




<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete" OnClick="return ConfirmOnDelete();" Text="Delete"></asp:LinkButton>

aminireza65
پنج شنبه 07 فروردین 1393, 13:34 عصر
برای خصوصیت onclientclick بنویس:

return confirm('are you sure??')

razeghaik1
پنج شنبه 07 فروردین 1393, 13:49 عصر
ببخشید اونوقت باید کدهای ارتباط با نک و انجام عملیات حذف رو چجوری بنویسیم؟
با تشکر

aminireza65
پنج شنبه 07 فروردین 1393, 13:56 عصر
اگه از command field استفاده میکنید کدی لازم نیست بنویسید. دستور delete مربوط به sqldatasource رو خودش اجرا میکنه.

razeghaik1
پنج شنبه 07 فروردین 1393, 14:51 عصر
اگه از command field استفاده میکنید کدی لازم نیست بنویسید. دستور delete مربوط به sqldatasource رو خودش اجرا میکنه.

من از دستورات ado.net اسفاده می کنم جهت حذف اطلاعات از دیتابیس.
اگه می شه بگید باید چجوری و کجا این کد های رو بنویسم با بتونم قبل از حذف کردن داده ها تایید کنم یا کنسل.
مرسی

aminireza65
پنج شنبه 07 فروردین 1393, 19:15 عصر
من از دستورات ado.net اسفاده می کنم جهت حذف اطلاعات از دیتابیس.
اگه می شه بگید باید چجوری و کجا این کد های رو بنویسم با بتونم قبل از حذف کردن داده ها تایید کنم یا کنسل.
مرسی

شما این قطعه کد رو در خصوصیت onclientclick بنویس.

return confirm('are you sure??')
اگر کاربر دکمه no رو بزنه که هیچی ولی اگر دکمه yes زده بشه رویداد click دکمه شما اجرا خواهد شد.
بنابراین دستورات ado.net شما فقط زمانی که کاربر دکمه yes رو بزنه اجرا میشن.

anvar
پنج شنبه 07 فروردین 1393, 19:30 عصر
یک ستون از نوع ButtonField به گریدویو اضافه کن, مثل زیر
<asp:ButtonField CommandName="Delete" ButtonType="Link" HeaderText="حذف" Text="حذف" />

رویداد RowDataBound گریدویو رو هندل کن و اسکریپت مورد نظرت رو به لینک حذف اضافه کن مثل زیر
protected void FamilyGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
foreach (LinkButton lnk in e.Row.Cells[9].Controls.OfType<LinkButton>())
{
if (lnk.CommandName == "Delete")
{
lnk.Attributes["onclick"] = "if(!confirm('آیا مایل به حذف خانواده هستید؟')){ return false; };";
}
}
}
}

عدد 9 هم ستون دهم گریدویو هست که مربوط به لینک حذف میشه (ایندکس از 0 شروع میشود)

تا اینجا به همه لینک های حذف (یعنی ستون دهم) اسکریپتی اضافه شده تا در صورت کلیک کادر تائید نمایش داده شود, اگر تائید شد .... پردازش ادامه می یابد و ردیف مورد نظر رو می تونی حذف کنی.

برای حذف رویداد RowDeleting گریدویو رو هندل و عملیات مورد نظر رو انجام بده

angel farahani
پنج شنبه 07 فروردین 1393, 21:35 عصر
سپاس از همگی اما دوستان لطفا ایراد کار من رو بگید ، من کد جاوا اسکریپت رو در بخش header نوشتم و در خصوصیت onclick فراخوانیش کردم حالا چرا خطای CS1041: Identifier expected; 'return' is a keyword رو میده ؟

angel farahani
جمعه 08 فروردین 1393, 15:00 عصر
دوستان لطفا اگر کسی میدونه ، مشکل کار منو بگه منتظر جواب هستم من در خصوصیت onclickclinet هم دادم ، خطایی نمیده اما اصلا پیغامی نشان نمی دهد و حذف را انجام میده . ممنونم

angel farahani
شنبه 09 فروردین 1393, 18:53 عصر
لطف کنید من رو راهنمایی کنید ، من نتونستم پیام تاییدیه قبل از حذف را ببینم . ایراد کارم چی هست ؟ ممنونم

aminireza65
شنبه 09 فروردین 1393, 23:13 عصر
این صد در صد جواب میده اگر نشون نداد حتما یه کد جاوا اسکریپت دیگه نوشتید که با این کد در تضاد هست.

onclientclick="return confirm('آیا از حذف مطمئن هستید؟')"

angel farahani
یک شنبه 10 فروردین 1393, 10:54 صبح
خیلی ممنونم ، همین کد شما جواب داد :)