‫۱۰ سال قبل، چهارشنبه ۲۶ شهریور ۱۳۹۳، ساعت ۲۲:۴۲
با تنظیم eventArgs.ErrorContext.Handled = true از خطاهای موجود صرفنظر می‌شود:
new JsonSerializerSettings
{
  Error = (sender, eventArgs) =>
  {
      Debug.WriteLine(eventArgs.ErrorContext.Error.Message);
      //if an error happens we can mark it as handled, and it will continue
      eventArgs.ErrorContext.Handled = true;
   }
}
‫۱۰ سال قبل، چهارشنبه ۲۶ شهریور ۱۳۹۳، ساعت ۱۵:۳۴
کلیات آن تفاوتی نمی‌کند. فقط در کدهای فوق، هر جایی required هست، آن‌را تبدیل کنید به maxlength. چون در پایان کار، متد اصلی maxlength فراخوانی می‌شود، روش بکار گرفته شده، عمومی است و قابل تعمیم به تمام متدهای فایل jquery.validate.js .
‫۱۰ سال قبل، چهارشنبه ۲۶ شهریور ۱۳۹۳، ساعت ۱۴:۴۶
- در مورد پروژه‌های سایت‌های ثالث، به issue tracker آن‌ها مراجعه کنید و سپس درخواست دهید تا متد removeAllTagsAndTrim فوق را هم تحت عنوان یک گزینه‌ی جدید اضافه کنند.
- در مورد موضوع بحث جاری، در فایل jquery.validate.js سه متد minlength ، maxlength و rangelength برای بررسی طول حروف وارد شده، مورد استفاده قرار می‌گیرند. بازنویسی آن‌ها جهت اعمال متد removeAllTagsAndTrim، دقیقا شبیه به بازنویسی متد required است که در بحث جاری ملاحظه کردید.
‫۱۰ سال و ۱ ماه قبل، دوشنبه ۲۴ شهریور ۱۳۹۳، ساعت ۱۵:۱۵
یک نکته‌ی تکمیلی
 اگر نمی‌خواهید یک وابستگی جدید را (Microsoft.AspNet.WebApi.Client) به پروژه اضافه کنید، کدهای ذیل همان کار HttpClient را برای ارسال اطلاعات، انجام می‌دهند. کلاس WebRequest آن در فضای نام System.Net موجود است :
using System;
using System.IO;
using System.Net;
using Newtonsoft.Json;

namespace WebToolkit
{
    public class SimpleHttp
    {
        public HttpStatusCode PostAsJson(string url, object data, JsonSerializerSettings settings)
        {
            if (string.IsNullOrWhiteSpace(url))
                throw new ArgumentNullException("url");

            return PostAsJson(new Uri(url), data, settings);
        }

        public HttpStatusCode PostAsJson(Uri url, object data, JsonSerializerSettings settings)
        {
            if (url == null)
                throw new ArgumentNullException("url");

            var postRequest = (HttpWebRequest)WebRequest.Create(url);
            postRequest.Method = "POST";
            postRequest.UserAgent = "SimpleHttp/1.0";
            postRequest.ContentType = "application/json; charset=utf-8";

            using (var stream = new StreamWriter(postRequest.GetRequestStream()))
            {
                var serializer = JsonSerializer.Create(settings);
                using (var writer = new JsonTextWriter(stream))
                {
                    serializer.Serialize(writer, data);
                    writer.Flush();
                }
            }

            using (var response = (HttpWebResponse)postRequest.GetResponse())
            {
                return response.StatusCode;
            }
        }
    }
}
‫۱۰ سال و ۱ ماه قبل، یکشنبه ۲۳ شهریور ۱۳۹۳، ساعت ۱۹:۴۷
گرفتن خروجی مرتب شده بر اساس نام خواص (جهت مقاصد نمایشی):
تعریف DefaultContractResolver :
    public class OrderedContractResolver : DefaultContractResolver
    {
        protected override IList<JsonProperty> CreateProperties(
            System.Type type, MemberSerialization memberSerialization)
        {
            return base.CreateProperties(type, memberSerialization).OrderBy(p => p.PropertyName).ToList();
        }
    }
و بعد معرفی آن به نحو ذیل:
            return JsonConvert.SerializeObject(data, new JsonSerializerSettings
            {
                ContractResolver = new OrderedContractResolver()
            });
‫۱۰ سال و ۱ ماه قبل، جمعه ۲۱ شهریور ۱۳۹۳، ساعت ۱۹:۱۲
پس از بررسی مجدد، مشکلی مشاهده نشد:
- رندر حالت فشرده شده در حالت غیر دیباگ:

- رندر حالت معمولی و اصل آن در حالت دیباگ: 

در کل اگر این روش برای شما کار نمی‌کند، شرط HttpContext.Current.IsDebuggingEnabled را از متد addBundle حذف کنید و else آن‌را نگه دارید.