ورود / ثبت نام
0
0

تبدیل واحد ارزی به صورت آنلاین در ASP.NET

267 بازدید
تبدیل واحد ارزی

 

تبدیل واحد ارزی

در این مقاله با هم به سراغ تبدیل واحد ارزی به صورت به روز شده و با استفاده از jQueryAjax و Web Service در ASP.Net خواهیم رفت. به همراه توضیحات کامل و مرتب تصاویر آنها نیز قرار داده شده است. پس با من همراه باشید …

تبدیل واحد ارزی

گوگل و یاهو API های زیادی برای استفاده در اپلیکیشن ها فراهم می کنند. در اینجا یک مبدل فرمت واحد ارزی را به شما نشان خواهیم داد.

برای این مقاله ما یک فرم وب اپلیکیشن از scratch ساخته ایم که اطلاعات را از گوگل و یاهو می گیرد و در رابط کاربری با استفاده از jQuery Ajax و Web service نمایش می دهد.

در این قسمت قدم به قدم به شما توضیح می دهیم.

زمینه

گوگل از API های مخفی خود برای نمایش فرمت واحد ارزی به روز در موتور جستجوی خود استفاده می کند. دلیل مخفی بودن آن، این است که API با یک فایل سند رسمی نیامده است.

 

تبدیل واحد ارزی

API مبدل فرمت واحد های ارزی یاهو یک فایل .csv به همراه نرخ تبدیل ارز را به شما می دهد.

تبدیل واحد ارزی

استفاده از کد

اجزا اصلی این پروژه ASPX، CSS، jQuery و Web service می باشند.

تبدیل واحد ارزی

HTML/ASPX

UI شامل کنترل کمی می باشد. دو dropdowns، یک text box و یک دکمه، که نتیجه آن در یک جدول <td> نمایش داده می شود.

تبدیل واحد ارزی

در اینجا از Textbox برای گرفتن میزانی که نیاز است از فرمت واقعی به فرمت دلخواه تبدیل شود استفاده می شود و دو drop downs به صورت آزمایشی با کد ارز و نام کشور پر می شوند. زمانی که روی تبدیل کلیک کنید یک متد jQuery Ajax که webmethod است، فرا می خواند.

CSS

این را فقط برای فهم بهتر و آشنایی بیشتر با UI ایجاد کرده ایم.

.main
{
    font-family: tahoma;
    font-size: 12px;
    border: solid 1px #03325C;
    border-collapse: collapse;
    color: #094D23;
    width: 400px;
}
.main th
{
    border-color: #03325C #03325C #03325C #03325C;
    border-style: solid solid solid solid;
    border-width: 1px 1px 1px 1px;
    color: #EDF7FF;
    padding: 4px 5px 4px 10px;
    vertical-align: bottom;
    text-align: center;
    background-color: #0E3252;
}
.result
{
    border-color: #989898 #989898 #989898 #989898;
    border-style: solid solid solid solid;
    border-width: 1px 1px 1px 1px;
    color: #1A0229;
    padding: 4px 5px 4px 10px;
    vertical-align: bottom;
    text-align: left;
    background-color: #C7CCD1;
    font-weight:bold;
}
.center
{
    text-align: center;
}
.controls
{
    font-family: tahoma;
    font-size: 12px;
    color: #032610;
} 

JQuery

در اینجا کد jQuery را توضیح می دهیم که web serviceیی را فرا می خواند که نرخ را از API گوگل و یاهو باز می گرداند.

$(document).ready(function () {
    $('#submit').click(function () {
        var errormsg = "";
        var amount = $('#txtAmount').val();
        var from = $('#drpFrom').val();
        var to = $('#drpTo').val();
        $.ajax({ type: "POST",
            url: "WebService.asmx/ConvertGOOG",
            data: "{amount:" + amount + ",fromCurrency:'" + from + "',toCurrency:'" + to + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            beforeSend: function () {
                $('#results').html("Converting...");
            },
            success: function (data) {
                $('#results').html(amount + ' ' + from + '=' + data.d.toFixed(2) + ' ' + to);
            },
            error: function (jqXHR, exception) {
                if (jqXHR.status === 0) {
                    errormsg = 'Not connect.\n Verify Network.'; ;
                } else if (jqXHR.status == 404) {
                    errormsg = 'Requested page not found. [404]'; ;
                } else if (jqXHR.status == 500) {
                    errormsg = 'Internal Server Error [500].'; ;
                } else if (exception === 'parsererror') {
                    errormsg = 'Requested JSON parse failed.'; ;
                } else if (exception === 'timeout') {
                    errormsg = 'Time out error.'; ;
                } else if (exception === 'abort') {
                    errormsg = 'Ajax request aborted.'; ;
                } else {
                    errormsg = 'Uncaught Error.';
                }
                $('#results').html(errormsg);
                $('<a href="#" >Click here for more details</a>').click(function () {
                    alert(jqXHR.responseText);
                }).appendTo('#results');
            }
        });
    });
}); 

در کد بالا رخداد click() با دکمه submit ( ارسال) گره خورده است و قابلیت jQuery val() برای بازیابی مقادیر کنترل استفاده می شود، که به وب سرویس می رود. با استفاده از $.ajax یک jQuery Ajax را مجبور به فراخوانی وب سرویس .NET می کنیم. در اینجا قبل از شروع فراخوانیِ ajax مقادیر نتیجه را با استفاده از تنظیمات beforeSend و $.ajax، به عنوان “Converting…” مشخص می کنیم. اگر فراخوانی موفقیت آمیز باشد در این صورت نرخ ارز در جدول نتیجه نمایش داده می شود و درغیر این صورت یک خطا دریافت می کنید.

Google

هم چنین می توانید متد وب گوگل را با تنظیم کردن url به صورت زیر فرا خوانید.

url: “WebService.asmx/ConvertGOOG”,

Yahoo

هم چنین نیز می توانید متد وب یاهو را با تنظیم کردن url به روش زیر فرا خوانید.

url: “WebService.asmx/ConvertYHOO”,

زمانی که element و ID “submit” (دکمه تبدیل) کلیک شود سپس این متد اجرا می شود. با استفاده از قابلیت val() jQuery مقادیر کنترل html در یک متغیر ذخیره می شوند و آن متغیر به متد وب سرویس می رود. jQuery Ajax را با $.ajax احضار می کنید، نام وب سرویس و متد در تنظیمات url jQuery.ajax() ذکر می شوند. پس زمانی که کلیک کنید جدول نتیجه “Converting…” را نمایش می دهد. اگر احضار موفقیت آمیز باشد در این صورت خروجی مورد انتظار در نتیجه <td> نمایش داده می شود در غیر این صورت یک خطا و توضیح نمایش می دهد و یک لینک که دلیل خطا را با جزئیات نشان داده است.

تنظیمات خطا یا jQuery Ajax call

از این بلوک برای گرفتن پاسخ jQuery Ajax به وب متد استفاده می شود. این کد توضیحات خطا را تنظیم می کند و یک لینک برای جزئیات خطا اضافه می کند، شما می توانید خروجی آن را مشاهده نمایید.

error: function (jqXHR, exception) {
    if (jqXHR.status === 0) {
        errormsg = 'Not connect.\n Verify Network.'; ;
    } else if (jqXHR.status == 404) {
        errormsg = 'Requested page not found. [404]'; ;
    } else if (jqXHR.status == 500) {
        errormsg = 'Internal Server Error [500].'; ;
    } else if (exception === 'parsererror') {
        errormsg = 'Requested JSON parse failed.'; ;
    } else if (exception === 'timeout') {
        errormsg = 'Time out error.'; ;
    } else if (exception === 'abort') {
        errormsg = 'Ajax request aborted.'; ;
    } else {
        errormsg = 'Uncaught Error.';
    }
    $('#results').html(errormsg);
    $('<a href="#" >Click here for more details</a>').click(function () {
        alert(jqXHR.responseText);
    }).appendTo('#results');
} 

تبدیل واحد ارزی

وب سرویس

در اینجا متد تبدیل سه پارامتر ورودی دریافت و قبول می کند. این پارامترها: مقدار، از فرمت و به فرمت می باشند.

گوگل

از وب متد ConvertGOOG برای پاسخگویی به فراخوانی Google API برای ارائه نزخ ارز استفاده می شود. پاسخ دریافت شده تجزیه می شود و فقط قسمت نرخ باز می گردد.

تبدیل واحد ارزی

یاهو

از وب متد ConvertYHOO برای پاسخگویی به فراخوانی Yahoo API برای ارائه نرخ ارز استفاده می شود. پاسخ دریافتی تجزیه می شود و فقط قسمت نرخ باز می گردد.

تبدیل واحد ارزی

فرمت مورد انتظار نرخ یک عدد اعشاری مناسب می باشد.

موفق باشید !

  • پسورد: www.mspsoft.com
آیا این مطلب را می پسندید؟
https://www.mspsoft.com/?p=17431
اشتراک گذاری:
واتساپتوییترفیسبوکپینترستلینکدین
داریوش فرخی
داریوش فرخی هستم از سال 92 شروع به یادگیری برنامه نویسی و از سال 93 در بخش برنامه نویسی و تولید محتوای سایت mspsoft.com مشغول هستم. فعالیتم نیز بیشتر در زمینه های برنامه نویسی با سی شارپ و asp.net بوده است. اوقات فراغتم را هم غالبا با تماشای فیلم یا بازی های کامپیوتری پر میکنم .
مطالب بیشتر
برچسب ها:

نظرات

0 نظر در مورد تبدیل واحد ارزی به صورت آنلاین در ASP.NET

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

هیچ دیدگاهی نوشته نشده است.