PDA

View Full Version : سوال: برای ایجاد پیغام Confirm کدام بهتر است؟



rana-writes
سه شنبه 25 خرداد 1389, 11:58 صبح
من برای گرید ویوم یه دکمه حذف انداختم، سوالم اینه که برای اینکه قبل از حذف شدن یه رکورد، یه پیغام تایید از کاربر بگیرم، از Extender تو Ajax استفاده کنم یا با نوشتن کد تو رویداد OnClientClick پیغام رو ایجاد کنم؟
این کد بهتره :


<asp:ImageButton ID="Del" CommandName="DelPost" runat="server"
CommandArgument='<%# Eval("PostID") %>' ImageUrl="~/images/Delete.png"
ToolTip="DelRecord" Width="16px" Height="16px"
OnClientClick="if(!window.confirm('Sure To Delete a Record?'))window.event.returnValue=false" />

یا اینکه از Ajax استفاده کنم و تو صفحه م ScriptManager بندازم و اینطوری کد بنویسم


<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:ImageButton ID="Del" CommandName="DelPost" runat="server"
CommandArgument='<%# Eval("PostID") %>' ImageUrl="~/images/Delete.png"
ToolTip="DelRecord" Width="16px" Height="16px" />
<cc1:ConfirmButtonExtender ID="Del_ConfirmButtonExtender" runat="server"
ConfirmText="Sure To Del a Record?" Enabled="True" TargetControlID="Del">
</cc1:ConfirmButtonExtender>


از نظر سرعت و همه چیز، کدوم ارجح تره؟
ممنون از راهنماییتون

hamedsabzian
سه شنبه 25 خرداد 1389, 12:10 عصر
به نظر من اولی بهتره!
به هیچ کد و Script ای نیاز نداره!
البته اگه برای کارای دیگه از این نوع کنترل ها استفاده کردی، ممکنه بخوای برای یک دست شدن تیپ سایتت واسه این مورد هم استفاده کنی! که اشکالی هم نداره! اما اگه می فقط واسه این یه کار استفاده کنی، نکن! به سربارش نمی ازره.

raziee
سه شنبه 25 خرداد 1389, 15:43 عصر
به نظر من اولی بهتره!
به هیچ کد و Script ای نیاز نداره!
حرفشون صحیح هست.

برای تایید کافیه تنها کد زیر رو بگذاری:

OnClientClick="return confirm('آیا دستور حذف کلی نواقص را تایید میکنید؟ ');

imanasp
سه شنبه 25 خرداد 1389, 16:25 عصر
حرفشون صحیح هست.

برای تایید کافیه تنها کد زیر رو بگذاری:

OnClientClick="return confirm('آیا دستور حذف کلی نواقص را تایید میکنید؟ ');
من هم از این کد استفاده می کنم منتهی راهی نیست که بشه عنوان پنجره رو فارسی کرد؟

raziee
سه شنبه 25 خرداد 1389, 16:31 عصر
من هم از این کد استفاده می کنم منتهی راهی نیست که بشه عنوان پنجره رو فارسی کرد؟
خیر (البته تا انوجایی که بنده اطلاع دارم)
----------------
برای این کار میتونید یک فرم تایید با هر ظاهری که خودتون دوست دارین درست کنید.
کمی باید جاوا اسکریپت بلد باشید.
------------
نکته ای که باید توجه کرد اینه که برای تایید یک مقدار (true|false) برگشت داده میشه که اگه true باشه عمل پست بک اتفاق می افته.

mmnoody2006
سه شنبه 25 خرداد 1389, 23:54 عصر
به نظر من استفاده از JQuery هم بدک نیست

raziee
چهارشنبه 26 خرداد 1389, 11:00 صبح
به نظر من استفاده از JQuery هم بدک نیست
؟؟؟؟؟
یعنی برای چه کاری از jquery استفاده کنید؟

nafasak
چهارشنبه 26 خرداد 1389, 17:05 عصر
من برای گرید ویوم یه دکمه حذف انداختم، سوالم اینه که برای اینکه قبل از حذف شدن یه رکورد، یه پیغام تایید از کاربر بگیرم، از Extender تو Ajax استفاده کنم یا با نوشتن کد تو رویداد OnClientClick پیغام رو ایجاد کنم؟
این کد بهتره :


<asp:ImageButtonID="Del"CommandName="DelPost"runat="server"
CommandArgument='<%# Eval("PostID") %>'ImageUrl="~/images/Delete.png"
ToolTip="DelRecord"Width="16px"Height="16px"
OnClientClick="if(!window.confirm('Sure To Delete a Record?'))window.event.returnValue=false"/>


یا اینکه از Ajax استفاده کنم و تو صفحه م ScriptManager بندازم و اینطوری کد بنویسم


<asp:ScriptManagerID="ScriptManager1"runat="server">
</asp:ScriptManager>
<asp:ImageButtonID="Del"CommandName="DelPost"runat="server"
CommandArgument='<%# Eval("PostID") %>'ImageUrl="~/images/Delete.png"
ToolTip="DelRecord"Width="16px"Height="16px"/>
<cc1:ConfirmButtonExtenderID="Del_ConfirmButtonExtender"runat="server"
ConfirmText="Sure To Del a Record?"Enabled="True"TargetControlID="Del">
</cc1:ConfirmButtonExtender>



از نظر سرعت و همه چیز، کدوم ارجح تره؟
ممنون از راهنماییتون

من Ajax رو پیشنهاد میکنم البته علاوه بر ConfirmButtonExtender شما
ModalPopupExtender رو هم نیاز دارید تا به راحتی بتونید یک پنل، DIV یا ... رو به عنوان فرم پیغام به کاربر نشون بدید... به شکل زیر:


<ajaxToolkit:ConfirmButtonExtender ID="ConfirmButtonExtender2" runat="server"
TargetControlID="LBtn_Remove"
DisplayModalPopupID="ModalPopupExtender1" />

<ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="LBtn_Remove" PopupControlID="PNL" OkControlID="BtnOk" CancelControlID="BtnCancel" BackgroundCssClass="modalBackground" />

<asp:Panel ID="PNL" runat="server" Style="display:none;width:300px;background-color:White; border-width:2px; border-color:Black; border-style:solid; padding:20px;">
<asp:Label ID="Lb_Attention" runat="server" Text="Sure To Del a Record?" ></asp:Label>
<br /><br />
<div style="text-align:center;">
<asp:Button ID="BtnOk" runat="server" Font-Names="Tahoma" Text="Yes" />
<asp:Button ID="BtnCancel" runat="server" Font-Names="Tahoma" Text="Cancel" />
</div>
</asp:Panel>


کلاس modalBackground
به شکل زیر



/*Modal Popup*/
.modalBackground {
background-color:Gray;
filter:alpha(opacity=70);
opacity:0.7;
}



پیروز و پارسی باشید.