نظرات مطالب
Protocol Buffers فرمتی برای تبادل دیتا
کتابخانه جالبی بود ولی به نظرم خوب نیست زیرا در واقع یک Reverse Proxy هست که روی سرور بین وبسرویس و کلاینت قرار میگیرد و Json RESTful رو به GRPC تبدیل و ترجمه می‌کند، در این صورت ما از مزایای واقعی GRPC مانند schema-based بودن، Bi-directional streaming و حتی خود Protobuf محروم می‌شویم.
من برای استفاده از GRPC در مرورگر پروژه خود grpc رو برای کلاینت‌های وبی پیشنهاد میکنم (grpc-web)
gRPC-Web provides a Javascript library that lets browser clients access a gRPC service  
نظرات مطالب
کار با SignalR Core از طریق یک کلاینت جاوا اسکریپتی
به روز رسانی برای NET Core 2.2.104. و signalr 1.1.2 
بسته‌ی سمت کلاینت signalr به صورت زیر تامین می‌شود:
npm install @aspnet/signalr --save
نکات JavaScript ای موجود در مطلب جاری هنوز برقرار هستند؛ منهای تغییر روش وهله سازی hubConnection که به صورت زیر در آمده‌است:
var connection = new signalR.HubConnectionBuilder().withUrl('/message').build();
مابقی آن مانند قبل است.

پس از اعمال این تغییرات، کدهای به روز شده‌ی انتهای مطلب را از اینجا می‌توانید دریافت کنید: SignalRCore2Sample-SDK-2.2.104.zip  
نظرات مطالب
جایگزین کردن jQuery با JavaScript خالص - قسمت اول - یافتن عناصر
دلیل اصلی که در این مطلب گفته شده اما دومین دلیل اینکه کمتر کسی از jquery استفاده میکنه این روزها اینه که:
اگر در برنامتون قرار نیست از فریم ورک خاصی برای جاوااسکریپت استفاده کنید مشکلی نداره استفاده از jquery ولی فرض کنید در حال استفاده از vue یا react یا ... هستید , در چنین شرایطی نیازی به دسترسی مستقیم به DOM وجود ندارد چون این فریم ورک‌ها قرار هست این مسائل رو هندل کنند. در چنین سناریویی استفاه از jquery اشتباه است. اگر هم نیاز بود در شرایطی خاص مستقیم به DOM دسترسی داشته باشید از خود JavaScript میشه کمک گرفت به روشی که آقای نصیری شرح دادند.
نظرات مطالب
پیاده سازی Unobtrusive Ajax در ASP.NET Core 1.0
یک نکته‌ی تکمیلی: نحوه‌ی ارسال Anti forgery token توسط Action Link ای‌جکسی 

برای اینکار نیاز است متد Ajax begin آن‌را تکمیل کرد:
<a data-ajax="true" data-ajax-begin="onBegin"
در این حالت امضای متد onBegin به صورت ذیل خواهد بود:
<script type=text/javascript>
    function onBegin(xhr, settings) {
        var token = $('input[name=__RequestVerificationToken]').val();
        settings.data = settings.data + '&__RequestVerificationToken=' + token;
    }
</script>
نظرات مطالب
افزودن هدرهای Content Security Policy به برنامه‌های ASP.NET
سلام من توی برنامه ام از Captcha استفاده می‌کنم که توی صفحه کد زیر رو دارم میشه بهم بگین چطور اون رو تبدیل کنیم که بشه توی یه فایل قرارش داد و مقادیر پارامترهاش رو بهش پاس داد .
@{
    var id = Guid.NewGuid().ToString("N");
    var functionName = string.Format("______{0}________()", Guid.NewGuid().ToString("N"));
    <script type="text/javascript">

        $(function () {
            $('#@id').prop('disabled', false);
        });

        function @functionName{
            $('#@id').prop('disabled', true);
            $.post("@Model.RefreshUrl", { @Model.TokenParameterName: $('#@Model.TokenElementId').val() }, function () {
                $('#@id').prop('disabled', false);
            });
            return false;
        }
    </script>

}
نظرات مطالب
استفاده از modal dialogs مجموعه Twitter Bootstrap برای گرفتن تائید از کاربر
باتشکر.کلیه مراحل فوق انجام شد.جهت معرفی فایل JS ساخته شده از روش آموزشی در بخش اول استفاده شد :
    @BundleConfig.AddStyles("~/Content/css",
                            "~/Content/bootstrap.min.css",
                            "~/Content/Site.css")
    @BundleConfig.AddScripts("~/Scripts/js",
    "~/Scripts/jquery-1.10.2.min.js",
                            "~/Scripts/bootstrap.min.js",
                            "~/Scripts/modernizr-2.6.2.js",
                            "~/Scripts/jquery.bootstrap-modal-confirm.js")
    @RenderSection("JavaScript", required: false)
و همچنین کد‌های View طبق مطلب جاری استفاده شده.ولی با کلیک بر روی دکمه حذف صفحه به شکل زیر نمایش داده میشود و فرم مدال نمایش داده نمی‌شود.لطفا راهنمائی کنید.

نظرات مطالب
معرفی Kendo UI
ممنون
در layout کد زیر هست
 <!-- Bundeling-->
    @BundleConfig.AddStyles("~/bundles/css/",
            "~/content/css/bootstrap.min.css",
            "~/content/css/bootstrap-reset.css",
            "~/content/css/style.css",
            "~/content/css/style-responsive.css"

                            )
    @BundleConfig.AddScripts("~/bundles/js",
                            "~/Scripts/jquery-1.9.1.min.js",
                            "~/Scripts/jquery.validate.min.js",
                            "~/Scripts/jquery.unobtrusive-ajax.min.js",
                            "~/Scripts/jquery.validate.unobtrusive.min.js",
                            "~/Scripts/bootstrap.min.js")
    @RenderSection("JavaScript", required: false)
برای اطمینان از دوبار تعریف شدن جی کوئری خط تعریف فایل‌های جاوااسکریپت رو هم حذف کردم که خطای شناسایی $ رو داد و بعد هم به طور جداگانه جی کوئری رو در همون section تعریف کردم و باز خطای قبلی
نظرات مطالب
شروع به کار با Ember.js
- صرف نوشتن مطلبی در مورد موضوعی خاص، به معنای «بهترین بودن آن» و «برترین حالت ممکن» نیست. امروز راجع به ember.js مطلب نوشتم. شاید هفته‌‌های بعد در مورد meteor.js مطلب نوشتم.
- مقایسه‌ای در اینجا «AngularJS vs Ember»
- مقایسه‌ای کامل‌تر در اینجا «AngularJs vs EmberJs»
- «Rails JS frameworks: Ember.js vs. AngularJS»
- «AngularJS vs. Backbone.js vs. Ember.js»
- یک نمونه‌ی دیگر «The Top 10 Javascript MVC Frameworks Reviewed» 
- این نظرسنجی را هم دنبال کنید: «آیا به یادگیری یا ادامه‌ی استفاده از AngularJS خواهید پرداخت؟»  
نظرات مطالب
معرفی Kendo UI
بله امکان استفاده از wrapper در نسخه asp.net.mvc.commercial وجود دارد
استفاده از اون هم خیلی ساده‌تر و خواناتر از جاوا اسکریپت هست. نظر آفای نصیری هم محترم است ولی در مواقع خواص میتونید همزمان هم از جاوااسکریپت استفاده کنید هم از wrapper یک نمونه رو در زیر با هم مقایسه میکنیم
با استفاده از جاوا اسکریپت
<input id="pickDate" type="text"/>

<script type="text/javascript">
  $(function() {
        $("#pickDate").kendoDatePicker();
  });
</script>
با استفاده از wrapper
@(Html.Kendo().DatePicker().Name("pickDate"))
در ضمن اینکه توی  wrapper امکان استفاده از Intellisense و امکان تعریف ارتباط اغلب کامپوننت‌های وب به مدل با استفاده از for‌های نمونه معادل کامپوننت فراهم شده است مانند wrapper زیر
@(Html.Kendo().DatePickerFor(m => m.HireDate).Name("pickDate1"))

نظرات مطالب
Url Routing در ASP.Net WebForms