ایجاد باکس confirmation Yes No سمت سرور با استفاده از jQuery
چهارشنبه 4 فروردین 1395این مقاله چگونگی نمایش باکس confirmation سرور ساید را با تغییر آیتم در DropDownList ، با استفاده از متد confirm جاوا اسکریپت و بر اساس پاسخ کاربر (Ok یا Cancel) ، توضیح میدهیم.
توضیحات:با استفاده از متد confirm جاوا اسکریپت می توانید اکشن دکمهOK را در سمت سرور اجرا کنید زیرا اجازه می دهد تا Postback انجام شود. اما با کلیک روی دکمه cancel ، نمی توانیم عملیات را در سمت سرور انجام دهیم ، زیرا اجازه Postback ندارد. اما گاهی اوقات برای عملیات های مختلف به هر دو دکمه OK و Cancel نیاز است. برای تایید کاربر قبل از انجام یک اکشن ترجیحا باید از او سوال شود.
به عنوان مثال: در DropDownList سه وضعیت قرار داده شده است که با انتخاب هر کدام ، در یک باکس از کاربر سوال " آیا مایل به تغییر وضعیت هستید ؟" پرسیده میشود ، اگر کاربر بروروی OK کلیک کند وضعیت تغییر کرده و پیام "OK کلیک شد" را نمایش میدهد و اگر روی Cancel کلیک کند ،پیام "Cancel کلیک شد " را نمایش میدهد.
پیاده سازی: یک صفحه وب برای نمایش آن ایجاد میکنیم:
صفحه index.aspx را باز کرده و کدهای زیر را در آن وارد میکنیم.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="Exame3.index" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
function Confirm(sender) {
var selectedText = $(sender).find("option:selected").text();
if (confirm("آیا مایل به تغییر وضعیت " + selectedText + " هستید ?")) {
$("#hfResponse").val('Yes');
} else {
$("#hfResponse").val('No');
}
}
</script>
</head>
<body dir="rtl">
<form id="form1" runat="server">
<div>
وضعیت: <asp:DropDownList ID="ddlStatus" Width="300px" runat="server" onchange="Confirm(this)"
OnSelectedIndexChanged="ddlStatus_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Text="فعال" />
<asp:ListItem Text="غیر فعال" />
<asp:ListItem Text="درانتظار" />
</asp:DropDownList>
<asp:Literal ID="ltrlMessage" runat="server"></asp:Literal>
<asp:HiddenField ID="hfResponse" runat="server" ClientIDMode="Static" />
</div>
</form>
</body>
</html>
در قسمت index.aspx.cs کدهای زیر را وارد میکنیم.
protected void ddlStatus_SelectedIndexChanged(object sender, EventArgs e)
{
string confirmValue = hfResponse.Value;
if (confirmValue == "Yes")
{
ltrlMessage.Text = "OK کلیک شد";
}
else
{
ltrlMessage.Text = " Cancelکلیک شد ";
}
}
در این مرحله برنامه را اجرا کنید
خروجی بصورت زیر است
- ASP.net
- 2k بازدید
- 5 تشکر