اشتراک‌ها
دریافت به روز رسانی کتاب The Little ASP.NET Core
  • Removed the AJAX pattern to focus even more on MVC best practices
  • Removed Facebook login to reduce problems for first-time readers
  • Updated the Docker deployment instructions to reflect the latest practices
  • A new jacket design
  • Many typo fixes and small suggestions! 
دریافت به روز رسانی کتاب The Little ASP.NET Core
اشتراک‌ها
کتابخانه Revolution Lightbox

Revolution Lightbox is a full blown multimedia responsive lightbox that runs on all major browsers and mobile devices like iPhone, iPad, iOS, Android or Windows mobile. It has support for image, video (mp4), audio (mp3), Vimeo, YouTube, iFrame, AJAX, HTML content, Google maps and flash. 

 
کتابخانه Revolution Lightbox
نظرات مطالب
Blazor 5x - قسمت ششم - مبانی Blazor - بخش 3 - چرخه‌های حیات کامپوننت‌ها
- بله؛ در جائی که قرار هست ترد UI را خالی کنید، مانند مثال «نمایش شرطی عبارات در فایل‌های razor.» که مربوط به دریافت اطلاعات از سرویس‌های از راه دور است یا ارسال اطلاعات به آن‌ها (که دقیقا معادل اعمال Ajax ای سمت کلاینت هستند)، «نیاز» هست از متدهای async استفاده کنید. علت وجودی دو نگارش sync و async هم در اینجا به ازای هر رویدادگران تعریف شده، به همین دلیل است. متدهای async سمت کلاینت، فقط ترد UI را خالی می‌کنند، تا UI برنامه در طی این متد رفت و برگشتی به سمت سرور پاسخگو باشد و هنگ کرده به نظر نرسد.
- اینکه چه متدی را باید async تعریف کرد یا نه، مطالعه‌ی مطلب «متدهای async تقلبی» حتی در اینجا هم مفید است.
نظرات مطالب
اعتبارسنجی مبتنی بر کوکی‌ها در ASP.NET Core 2.0 بدون استفاده از سیستم Identity
با سلام؛ من از روش بالا برای بحث اعتبارسنجی  و دسترسی به کنترل و اکشن استفاده کردم. اگر کوکی منقضی شودبه صفحه لاگین هدایت می‌شود. تغییری در برنامه دادم اگر کوکی منقضی شد در همان صفحه جاری  پنجره‌ای به صورت مدال باز شود لاگین را انجام دهد. فرم مدال بصورت ajax سمت سرور می‌رود هنگام لاگین مدال. برنامه رو دیباگ کردم کوکی را درست می‌سازد و پر می‌کند. ولی هنگامی که روی اکشنی  کلیک میکنم مقدار کوکی ست نشده خالی هست. عدم دسترسی میدهد. به عبارتی user.Identity.IsAuthenticated رو false بر میگردونه. آیا مشکل درخواست‌های اژاکسی می‌باشد؟ با تشکر
نظرات مطالب
معرفی JSON Web Token
سلام. فکر می‌کنم مفهوم jwt رو متوجه نشدم. با اینکه تمام سمپل هایی که ارائه کردین رو پیاده سازی کردم. من می‌خوام یه erp طراحی کنم. که پروژه لاگین و رجیسترش جدا باشه. یعنی هر پروژه ای در این ERP برای لاگین به پروژه لاگین رجیستر ما وصل بشه. همچنین قصد ندارم از angular  یا ajax استفاده کنم. برای رفت و آمد بین اکشن‌ها و کنترلر‌ها هم طبق فرمایش شما از httpclient استفاده کردم. ولی باز هم نشد. حالا سوال اینه که برای طراحی این پروژه لاگین رجیستر باید از jwt  استفاده بشه؟ و اینکه اگر قرار باشه از jwt استفاده بشه، ساده‌ترین شکل پیاده سازیش چطور خواهد بود؟ سمپل خاصی برای این مسئله دارین؟
نظرات مطالب
اعتبارسنجی مبتنی بر JWT در ASP.NET Core 2.0 بدون استفاده از سیستم Identity
در کل باید token ایی به سمت سرور ارسال شود (کاربر اطلاعات ویژه‌ای را به سمت سرور ارسال کند) تا مشخص شود که درخواست رسیده معتبر هست یا خیر؛ در غیراینصورت یک درخواست معمولی است که حاوی اطلاعات کاربر ارسال کننده‌ی آن نیست. البته الزامی به ارسال این توکن صرفا توسط هدر درخواست‌های Ajax ایی نیست. این مورد (نحوه‌ی تغییر محل ارسال توکن) در قسمت «.... OnMessageReceived برای حالتی است که توکن دریافتی، توسط هدر مخصوص Bearer به سمت سرور ارسال نمی‌شود...» در متن توضیح داده شده‌است. 
نظرات مطالب
سفارشی سازی ASP.NET Core Identity - قسمت پنجم - سیاست‌های دسترسی پویا
در این روش باید به ازای تمامی اکشن متدها یک کنترلر دسترسی تعریف گردد.
حالتی رو در نظر بگیرید که دسترسی ویرایش اطلاعات داده شده و داخل فرم ویرایش اطلاعات اکشن متدی هست که به صورت ajax دراپ دانی رو لود میکند.
اگر برای این اکشن متد دسترسی تعریف نشود خطای 401 صادر میشود.
چطور میشه این مورد رو هندل کرد که با اعطای دسترسی ویرایش، اکشن مورد استفاده در فرم ویرایش کنترلر جاری (SampleController:GetDropdown:) به Claim اضافه شوند بدون اینکه از ذکر صریح این نوع دسترسی‌ها در فرم "تنظیم سطوح دسترسی پویای نقش ها" خودداری کرد؟
نظرات مطالب
نمایش فرم‌های مودال Ajax ایی در ASP.NET MVC به کمک Twitter Bootstrap
بعد از اینکه صفحه‌ی مودال بسته شد، چطور می‌شود بر اساس نتیجه، موفق یا ناموفق بودن، اطلاعات صفحه‌ی اصلی را به‌روز کرد؟ من از روش زیر استفاده کردم. اما PartialView به‌روز نمی‌شود.
    function LoadCt() {
        $('#myModal').modal('hide');
        $.ajax({
            type: "POST",
            url: "/CONTROLLER/ACTIONMETHOD",
            data: JSON.stringify(),
            contentType: "application/json; charset=utf-8",
            dataType: "html",
            complete: function (xhr, status) {
                var data = xhr.responseText;
                $('cats').html(data);
            }
        });
    }
و در CONTROLLER:
        public ActionResult ACTIONMETHOD()
        {
            var model = stuff from _db;
            return PartialView("_Get", model);
        }

نظرات مطالب
پردازش فایل‌های XML با استفاده از jQuery
function ReadFlagsOnXml(divControlName, XMLFile) {
    var div = $("#" + divControlName);
    console.log($(div).text());

    $.ajax({
        type: "GET",
        url: XMLFile,
        dataType: "xml",
        success: function(xml) {
            var xmlDoc = $.parseXML(xml),
                $xml = $(xmlDoc);
            console.log(xml);

            var countries = $(xml).find('Countries');
            $(countries).find('Country').each(function() {
                var countryName = $(this).find('Name').text();
                var flagImage = $(this).find('Image').text();
                $("<img>", {
                    src: flagImage,
                    title: countryName
                }).appendTo($(div));

            });
        }
    });
}
این کد روی IIS به خوبی اجرا میشه ولی داخل یک دایرکتوری، روی پروتکل file خیر
نظرات مطالب
فعال سازی و پردازش صفحات پویای افزودن، ویرایش و حذف رکوردهای jqGrid در ASP.NET MVC
ممنون. ولی تو تعریف کدهای شما، ردیف رو به عنوان ایدی به تابع حذف می‌فرسته و با این تابع میشه نوع داده ارسالی رو مشخص کرد
   onClickButton: function (e) {
            var id = $('#grid').jqGrid('getGridParam', 'selrow');
           
            if (id != null) {
                var idHtml = $('#grid').jqGrid('getCell', id, 'ID_Baker');
                //var idHtml = id.ID_Baker;
                //var idHtml = $('#' + id).children().first().html();
                $.ajax({
                    url: '@(Url.Action("DeleteProfile"))' + '?Id=' + idHtml + '&RowId=' + id,
                    success: function (data) {
                        if (data.Success) {

                            $('#grid').jqGrid('delRowData', data.RowId);
                        }
                    }
                });
            }
            else {
            }
        },