اشتراک‌ها
Server-side processing با DataTable در ASP.NET Core

 In this article, we will learn how to use JQuery Datatable in ASP.NET Core with Server Side Processing. We will also be building a simple real-world implementation to help understand JQuery Datatable to it’s fullest. You can find the source code of the entire implementation here. Let’s begin 

Server-side processing با DataTable در ASP.NET Core
اشتراک‌ها
چند کتابخانه tick & counter

Features:

  • Animated matrix dots
  • High-res and low-res digit font
  • Count down towards a date
  • Count up since a date
  • Define Countdown Schedules
  • Responsive and Mobile Friendly
  • Fast and Beautifully Animations
  • Works on all Major Browser
  • JavaScript and jQuery API

Works standalone but ships with handy wrapper for jQuery.

چند کتابخانه tick & counter
اشتراک‌ها
پیاده سازی Material Design Stopwatch, Alarm and Timer
Use the modern Materialize framework, together with jQuery , jQuery Timepicker and Hammer.js for touch events. Materialize turns the plain looking standard HTML input fields into these awesome Android-like switches and check boxes. It also adds the the on-click wave ink effect as it has Waves.js included in it’s package.  Demo
پیاده سازی Material Design Stopwatch, Alarm and Timer
اشتراک‌ها
امکان نصب پکیج کامل Themeهای jQuery UI از طریق نیوگت

This is a jQuery UI themes package for installing all the themes of jQuery UI. This package includes black-tie, blitzer, cupertino, dark-hive, dot-luv, eggplant, excite-bike, flick, hot-sneaks, humanity, le-frog, mint-choc, overcast, pepper-grinder, redmond, smoothness, south-street, start, sunny, swanky-purse, trontastic, ui-darkness, ui-lightness, vader.

امکان نصب پکیج کامل Themeهای jQuery UI از طریق نیوگت
نظرات مطالب
بررسی معادل‌های LINQ to Objects در TypeScript
jQuery خودش به صورت توکار بسیاری از قابلیت‌های LINQ را دارد. برای مثال معادل Where در آن grep.$ است و یا معادل Select، متد map.$ آن است. برای مثال کد #C زیر:
var maleNames = people
.Where(p => p.Sex == "M")
.Select(p => p.Name)
به صورت زیر توسط jQuery ترجمه می‌شود:
var maleNames = $.grep(people, function (p) { return p.Sex == 'M'; })
            .map(function (p) { return p.Name; });
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 14 - فعال سازی اعتبارسنجی ورودی‌های کاربران
یک نکته‌ی تکمیلی: جایگزینی bower با npm

bower یک فناوری منسوخ شده‌است و اگر بخواهیم bower.json ذکر شده‌ی در این مطلب را با package.json مربوط به npm جایگزین کنیم، به یک چنین محتوایی خواهیم رسید:
{
  "name": "testwebapp",
  "version": "1.0.0",
  "description": "",
  "scripts": {},
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bootstrap": "^3.3.7",
    "jquery": "^2.2.4",
    "jquery-ajax-unobtrusive": "^3.2.4",
    "jquery-validation": "^1.17.0",
    "jquery-validation-unobtrusive": "^3.2.8"
  }
}
پس از ایجاد فایل package.json فوق، کافی است دستور npm install را در ریشه‌ی پروژه وارد کنید تا این بسته‌ها دریافت و نصب شوند.
سپس بر اساس مسیرهای پوشه‌ی node_modules جدید، فایل bundleconfig.json چنین محتوایی را پیدا می‌کند:
[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "node_modules/bootstrap/dist/css/bootstrap.min.css",
      "wwwroot/css/site.css"
    ]
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "node_modules/jquery/dist/jquery.min.js",
      "node_modules/jquery-validation/dist/jquery.validate.min.js",
      "node_modules/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive.min.js",
      "node_modules/jquery-ajax-unobtrusive/jquery.unobtrusive-ajax.min.js",
      "node_modules/bootstrap/dist/js/bootstrap.min.js",
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    },
    "sourceMap": false
  }
]
و در آخر فایل Layout.cshtml_ برنامه به این صورت ساده خواهد شد (فقط خروجی‌های نهایی css و js حاصل از BundlerMinifier در اینجا قید می‌شوند؛ که حاصل یکی کردن و فشرده سازی تمام آن‌ها است):
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - DNTCommon.Web.Core.TestWebApp</title>
    <link href="~/css/site.min.css" rel="stylesheet" asp-append-version="true" />
</head>

<body>
    <div>
        @RenderBody()
    </div>

    <script src="~/js/site.min.js" type="text/javascript" asp-append-version="true"></script> 
    @RenderSection("Scripts", required: false)
</body>
</html>
البته با این شرط که تنظیمات ذیل در فایل csproj برنامه موجود باشند:
<Project Sdk="Microsoft.NET.Sdk.Web">
  <Target Name="PrecompileScript" BeforeTargets="BeforeBuild">
    <Exec Command="dotnet bundle" />
  </Target>
  <ItemGroup>
    <DotNetCliToolReference Include="BundlerMinifier.Core" Version="2.6.362" />
  </ItemGroup>
</Project>
نظرات مطالب
Ajax.BeginForm و ارسال فایل به سرور در ASP.NET MVC
این متد را به ابتدای فایل ajaxfileupload.js اضافه کنید (برای نگارش‌های جدیدتر jQuery):
jQuery.extend({
handleError: function( s, xhr, status, e ) {
    // If a local callback was specified, fire it
    if ( s.error ) {
        s.error.call( s.context || window, xhr, status, e );
    }
 
    // Fire the global callback
    if ( s.global ) {
        (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] );
    }
},
نظرات مطالب
ایجاد کپچایی (captcha) سریع و ساده در ASP.NET MVC 5
با تشکر از پست خوبتون
فقط مساله ای که برای من اتفاق افتاد این بود که زمانی که دکمه مربوط به بازسازی کپچا رو می‌زدم تصویر از کش خونده می‌شد و تصویر جدید نمایش داده نمی‌شد که برای حل این موضوع کافیست کد ایجکس برای آپدیت کپچا توسط دکمه refresh را به صورت زیر بنویسید:
jQuery('#refresh').on({
                'click': function () {
                    var random = new Date();
                    jQuery.ajax({
                        url: '@Url.Action("CaptchaImage","Captcha")',
                        type: "GET",
                        data: null,
                        success: function (result) {
                            jQuery("#imgcpatcha").attr("src", "/Captcha/CaptchaImage?" + random + result);
                        }
                    });
                }
                });
نظرات مطالب
آپلود فایل توسط فرم‌های پویای jqGrid
این متد را به ابتدای فایل ajaxfileupload.js اضافه کنید (برای نگارش‌های جدیدتر jQuery):
jQuery.extend({
handleError: function( s, xhr, status, e ) {
    // If a local callback was specified, fire it
    if ( s.error ) {
        s.error.call( s.context || window, xhr, status, e );
    }

    // Fire the global callback
    if ( s.global ) {
        (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] );
    }
},
نظرات مطالب
آغاز به کار با Twitter Bootstrap در ASP.NET MVC
چند سؤال اینجا هست که از راه دور قابل بررسی نیست:
- چطور تعاریف فایل‌ها رو در کدها اضافه کردید؟ (اگر خطای نبود jQuery رو بدون خطای کامپایل که ذکر شد گرفتید، یعنی اصلا jQuery تعریف نشده در تعریف bundle نهایی)
- ساختار پوشه‌های شما چیست؟ محل قرارگیری این فایل‌ها به چه ترتیبی است؟
- از چه نگارشی از اسکریپت‌ها و فایل‌ها استفاده می‌کنید؟ از کجا تهیه شده‌اند؟

ضمنا هیچ الزامی برای استفاده از minification در این مبحث نیست. فقط برای تکمیل بحث عنوان شده.
به علاوه در قسمت‌های بعدی این بحث، سورس هر قسمت پیوست شده که شامل فایل‌های اسکریپت و css متناظر با هر بحث می‌‌شود. این فایل‌ها در این سری ویژه، مورد تائید هستند و آزمایش شد‌ه‌اند.