‫۱۰ سال و ۱ ماه قبل، یکشنبه ۱۶ شهریور ۱۳۹۳، ساعت ۱۹:۴۷
نسخه‌ی بهبود یافته JsonNetValueProviderFactory را در اینجا می‌توانید مطالعه کنید. نسخه‌ی JsonNetResult آن جالب نیست چون از string استفاده کرده بجای stream.
JsonNetValueProviderFactory.cs
+ نحوه‌ی ثبت بهتر این کلاس دقیقا در همان ایندکس اصلی آن:
        public static void RegisterFactory()
        {
            var defaultJsonFactory = ValueProviderFactories.Factories
                .OfType<JsonValueProviderFactory>().FirstOrDefault();
            var index = ValueProviderFactories.Factories.IndexOf(defaultJsonFactory);
            ValueProviderFactories.Factories.Remove(defaultJsonFactory);
            ValueProviderFactories.Factories.Insert(index, new JsonNetValueProviderFactory());
        }
‫۱۰ سال و ۱ ماه قبل، جمعه ۱۴ شهریور ۱۳۹۳، ساعت ۱۸:۴۹
- تا ASP.NET MVC 5 از JavaScriptSerializer در JsonResult استفاده می‌شود.
- در نگارش بعدی ASP.NET MVC که با Web API یکی شده (یعنی در یک کنترلر هم می‌توانید ActionResult داشته باشید و هم خروجی‌های متداول Web API را با هم) اینبار تامین کننده‌ی JsonResult از طریق تزریق وابستگی‌ها تامین می‌شود و می‌تواند هر کتابخانه‌ای که صلاح می‌دانید باشد. البته یک مقدار پیش فرض هم دارد که دقیقا از JSON.NET استفاده می‌کند.
‫۱۰ سال و ۱ ماه قبل، جمعه ۱۴ شهریور ۱۳۹۳، ساعت ۰۲:۲۹
در یک اکشن متد، بجای return Json پیش فرض و توکار، می‌شود نوشت:
return Content(JsonConvert.SerializeObject(obj));
البته این ساده‌ترین روش استفاده از آن است؛ برای مقاصد Ajax ایی.
و یا برای ذکر Content type می‌توان به صورت زیر عمل کرد:
return new ContentResult
{
  Content = JsonConvert.SerializeObject(obj),
  ContentType = "application/json"
};
‫۱۰ سال و ۱ ماه قبل، پنجشنبه ۱۳ شهریور ۱۳۹۳، ساعت ۰۳:۰۸
پس از آزمایش مشکلی مشاهده نشد.
همانطور که عنوان شد، کل اطلاعات داخل document ready به داخل یک متد مجزا منتقل شد:
        function loadGrid() {
            $('#list').jqGrid({
                caption: "آزمایش اول",
                // .....
            });
        } 
و سپس فراخوانی آن توسط یک دکمه:
<button onclick="loadGrid()">Load Grid</button>
‫۱۰ سال و ۱ ماه قبل، پنجشنبه ۱۳ شهریور ۱۳۹۳، ساعت ۰۱:۵۴
reloadGrid برای حالتی است که Grid در صفحه نمایش داده شده و موجود است. برای نمایش یک گرید با کلیک بر روی یک دکمه، کل کدهای داخل document.ready مثال فوق را داخل یک متد جداگانه قرار دهید و سپس آن‌را مستقلا فراخوانی کنید. document.ready یعنی به محض آماده شدن DOM این اطلاعات را اجرا کن.
‫۱۰ سال و ۱ ماه قبل، پنجشنبه ۶ شهریور ۱۳۹۳، ساعت ۰۲:۲۵
در همان callback اعتبارسنجی (function (value, element, param به element در حال بررسی، دسترسی وجود دارد. اما اینجا کاربردی ندارد، چون مخفی است (تصویر اول). یعنی focus بر روی آن، یا تغییر CSS آن قابل مشاهده نخواهد بود. اما داخل همین رویداد گردان می‌توان نوشت:
$(".froala-element").focus();
$(".froala-element").css({"border-color": "red"});
‫۱۰ سال و ۱ ماه قبل، یکشنبه ۲ شهریور ۱۳۹۳، ساعت ۲۳:۱۴
نیاز به یک سری تغییرات در CSS و JS دارد:
.modal.modal-wide .modal-dialog {
  width: 90%;
}
.modal-wide .modal-body {
  overflow-y: auto;
}

/* irrelevant styling */
body { text-align: center; }
body p { 
  max-width: 400px; 
  margin: 20px auto; 
}
#tallModal .modal-body p { margin-bottom: 900px }

// when .modal-wide opened, set content-body height based on browser 
// height; 200 is appx height of modal padding, modal title and button bar

$(".modal-wide").on("show.bs.modal", function() {
  var height = $(window).height() - 200;
  $(this).find(".modal-body").css("max-height", height);
});
مثال قابل اجرا
+ یک مثال دیگر: ^