ایجاد باکس confirmation Yes No سمت سرور با استفاده از jQuery

چهارشنبه 4 فروردین 1395

این مقاله چگونگی نمایش باکس confirmation سرور ساید را با تغییر آیتم در DropDownList ، با استفاده از متد confirm جاوا اسکریپت و بر اساس پاسخ کاربر (Ok یا Cancel) ، توضیح میدهیم.

ایجاد باکس confirmation Yes No سمت سرور با استفاده از jQuery

توضیحات:با استفاده از متد 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کلیک شد  ";
            }
        }

در این مرحله برنامه را اجرا کنید

خروجی بصورت زیر است

 

 

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید