ساخت اپلیکیشن سمت کاربر با فرمت Javascript

در این بخش از آموزش Web API با استفاده از HTML، Javascript و  Knockout.js   اپلیکیشنی برای سمت کاربر خواهیم ساخت. این اپلیکیشن سمت کاربر  شامل قسمت های زیر می باشد :

  • نمایش لیست کتاب‌ها
  • نمایش جزئیات کتاب‌ها
  • افزودن کتاب جدید

پست های قبلی آموزش Web API :

Knockout از الگوی (MVVM) یا Model-View-ViewModel استفاده می‌کند:

  • Model قسمتی از پروژه است که کلاس های  business domain در آن تعریف می شود (برای مثال، کتاب‌ها و نویسنده‌ها).
  • View لایه  نمایش اطلاعات است (HTML).
  • View model اشیائی در زبان Javascript است که مدل‌ها را نگه می‌دارد. View model در واقع کد انتزاعی رابط کاربری است. هیچ کدی به زبان HTML در خود ندارد. به جای آن، ویژگی‌های دیداری مانند لیست کتاب‌ها را در خود دارد.

آموزش Web API

نمایش داده‌ها بستگی به View model دارد. به روز رسانی‌های view model به صورت خودکار در نمایش داده تاثیر دارد. View model همچنین رویدادهایی مانند کلیک‌های هر دکمه را ثبت میکند.

آموزش web api

این روش باعث می شود که تغییرات در رابط کاربری اپلیکیشن به راحتی انجام شود ، چون شما مقید سازی داده ها را بدون نوشتن کد اضافی می توانید انجام دهید . به عنوان مثال لیست آیتم های نمایش داده شده به وسیله ul را بخواهید بعدا به جدول تبدیل کنید.

افزودن Knockout Library

در Visual Studio و از طریق منوی Tools، گزینه  Library Package Manager را انتخاب کنید. سپس گزینه Package Manager Console را انتخاب نمایید. در پنجره باز شده با عنوان Package Manager Console، دستور زیر را وارد نمایید:

Install-Package knockoutjs

این دستور فایل‌های Knockout را به پوشه اسکریپت‌ها اضافه می‌کند.

ساخت View Model در آموزش Web API

فایل Javascript یی با نام app.js را به پوشه اسکریپت‌ها اضافه کنید.(در بخش Solution Explorer، بر روی پوشه Scripts راست کلیک کنید، سپس Add را انتخاب نموده و Javascrpt File را برگزینید.) کد زیر را در آنجا paste کنید:

var ViewModel = function () {
    var self = this;
    self.books = ko.observableArray();
    self.error = ko.observable();

    var booksUri = '/api/books/';

    function ajaxHelper(uri, method, data) {
        self.error(''); // Clear error message
        return $.ajax({
            type: method,
            url: uri,
            dataType: 'json',
            contentType: 'application/json',
            data: data ? JSON.stringify(data) : null
        }).fail(function (jqXHR, textStatus, errorThrown) {
            self.error(errorThrown);
        });
    }

    function getAllBooks() {
        ajaxHelper(booksUri, 'GET').done(function (data) {
            self.books(data);
        });
    }

    // Fetch the initial data.
    getAllBooks();
};

ko.applyBindings(new ViewModel());

در Knockout، کلاس observable بایند کردن داده‌ها را فعال می‌کند. زمانی که محتوای observable  تغییر می‌کند، observable  به تمام کنترل‌های data-bound خبر می‌دهد تا خود را به روز کنند. (کلاس observableArray ورژن آرایه‌ای برای observable  است.) برای شروع، View model ما دو observable دارد:

  • Books لیست کتاب‌ها را در خود دارد.
  • error در صورتی که فراخوانی AJAX با شکست مواجه شود، پیامی مبنی بر رخداد خطا صادر می‌کند.

متد getAllBooks، با فراخوانی AJAX ، لیست کتاب‌ها را به دست می‌آورد. پس از آن نتایج را در آرایه Books قرار می‌دهد.

متد ko.applyBindigs بخشی از  کتابخانه Knockout می‌باشد. این متد View model را به عنوان یک پارامتر گرفته و data-binding را انجام می دهد .

افزودن Script Bundle

باندل کردن ویژگی‌ای در ASP.NET 4.5 است که ترکیب چند فایل را در یک فایل به سادگی انجام می دهد . باندل کردن تعداد درخواست‌های ارسالی به سرور را کاهش داده و همین امر می‌تواند موجب بهبود زمان بارگیری صفحه شود.

فایل App_Start/BundleConfig.cs را باز کنید. کد زیر را به متد RegisterBundles  اضافه کنید.

public static void RegisterBundles(BundleCollection bundles)
{
    // ...

    // New code:
    bundles.Add(new ScriptBundle("~/bundles/app").Include(
              "~/Scripts/knockout-{version}.js",
              "~/Scripts/app.js"));
}

ورکشاپ رایگان دوره های تخصصی برنامه نویسی

شما این فرصت را دارید، با تکمیل فرم زیر، قبل از انتخاب دوره آموزشی مناسب خود، در ورکشاپ رایگان دوره های تخصصی برنامه نویسی شرکت کنید
  • این فیلد برای اعتبار سنجی است و باید بدون تغییر باقی بماند .

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

همچنین ببینید

احراز هویت با استفاده از Google در ASP.NET Core 2.0

آموزش احراز هویت با استفاده از Google در ASP.NET Core 2.0 : گاهی اوقات، لازم …

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

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