عموما از امکانات LINQ to JSON کتابخانهی JSON.NET زمانی استفاده میشود که ورودی JSON تو در توی حجیمی را دریافت کردهاید اما قصد ندارید به ازای تمام موجودیتهای آن یک کلاس معادل را جهت نگاشت به آنها تهیه کنید و صرفا یک یا چند مقدار تو در توی آن جهت عملیات استخراج نهایی مدنظر است. به علاوه در اینجا LINQ to JSON واژهی کلیدی dynamic را نیز پشتیبانی میکند.
همانطور که در تصویر مشخص است، خروجیهای JSON عموما ترکیبی هستند از ...
تا نگارش فعلی ASP.NET MVC، یعنی نگارش 5 آن، به صورت توکار از JavaScriptSerializer برای پردازش JSON کمک گرفته میشود. این کلاس نسبت به JSON.NET هم کندتر است و هم قابلیت سفارشی سازی آنچنانی ندارد. برای مثال مشکل Self referencing loop را نمیتواند مدیریت کند.
برای استفاده از JSON.NET در یک اکشن متد، به صورت معمولی میتوان به نحو ذیل عمل کرد: [HttpGet]
public ActionResult GetSimpleJsonData()
{
...
پس از بررسی مقدماتی امکانات کتابخانهی JSON.NET، در ادامه به تعدادی از تنظیمات کاربردی آن با ذکر مثالهایی خواهیم پرداخت.
گرفتن خروجی CamelCase از JSON.NET
یک سری از کتابخانههای جاوا اسکریپتی سمت کلاینت، به نامهای خواص CamelCase نیاز دارند و حالت پیش فرض اصول نامگذاری خواص در دات نت عکس آن است. برای مثال بجای UserName به userName نیاز دارند تا بتوانند صحیح کار کنند.
روش اول حل این مشکل، استفاده از و ...
چرا JSON.NET؟ JSON.NET یک کتابخانهی سورس باز کار با اشیاء JSON در دات نت است. تاریخچهی آن به 8 سال قبل بر میگردد و توسط یک برنامه نویس نیوزیلندی به نام James Newton King تهیه شدهاست. اولین نگارش آن در سال 2006 ارائه شد؛ مقارن با زمانی که اولین استاندارد JSON نیز ارائه گردید.
این کتابخانه از آن زمان تا کنون، 6 میلیون بار دانلود شدهاست و به علت کیفیت بالای آن، این روزها پایه اصلی بسیاری از کتابخانهها و فریم ورکهای دا ...
تفاوتی نمیکند که از کدامیک از HTML Editorها یا به عبارتی wysiwyg-editorهای موجود، جهت ورود اطلاعات استفاده میکنید. هیچکدام از آنها سبب فراخوانی اعتبارسنجی Required سمت کاربر نمیشوند. چرا؟
علت اینجا است که با فعال سازی wysiwyg-editorهای موجود، المان HTML پیش فرض مانند یک TextArea حالت مخفی پیدا میکند:
و اگر به سورس کد فایل jquery.validate.js مراجعه کنید، یک چنین تعریف پیش فرضی در آن موجود است: $.extend( ...
فریم ورک ASP.NET Web API صرفا برای ساخت سرویسهای سادهای که میشناسیم، نیست و در واقع مدل جدیدی برای برنامه نویسی HTTP است. کارهای بسیار زیادی را میتوان توسط این فریم ورک انجام داد که در این مقاله به یکی از آنها میپردازم. فرض کنید میخواهیم یک فایل ویدیو را بصورت Asynchronous به کلاینت ارسال کنیم.
ابتدا پروژه جدیدی از نوع ASP.NET Web Application بسازید و قالب آن را MVC + Web API انتخاب کنید.
ابت ...
در ابتدای بحث، برای آشنایی بیشتر با HTML Helperها به مطالعه این مقاله بپردازین.
در این مقاله قرار است برای یک HTML Helper خاص، قالب نمایشی اختصاصی خودمان را طراحی کنیم و به نحوی HTML Helper موجود را سفارشی سازی کنیم. به عنوان مثال میخواهیم خروجی یک EditorFor() برای یک نوع خاص، به حالت دلخواهی باشد که ما خودمان آن را تولیدش کردیم؛ یا اصلا نه. حتی میشود برای خروجی یک EditorFor() که خصوصیتی از جنس string را میخواهیم به آن انتساب دهیم ...
بعد از آمدن نسخهی سوم ASP.NET MVC مکانیسمی به نام Remote Validation به آن اضافه شد که کارش اعتبارسنجی از راه دور بود. فرض کنید نیاز است در یک فرم، قبل از اینکه کل فرم به سمت سرور ارسال شود، مقداری بررسی شده و اعتبارسنجی آن انجام گیرد و این اعتبارسنجی چیزی نیست که بتوان سمت کاربر و بدون فرستاده شدن مقداری به سمت سرور صورت گیرد. نمونه بارز این مسئله صفحه عضویت اکثر سایتهایی هست که روزانه داریم با آنها کار میکنیم. فیلد نام کاربری توسط ...
چندی پیش در همین وبسایت مطلبی تحت عنوان « اعمال کلاسهای ویژه اعتبارسنجی Twitter bootstrap به فرمهای ASP.NET MVC » منتشر شد. این مقاله مرتبط با نسخه دوم فریمورک محبوب Bootstrap بود. قصد داریم به بازنویسی کدهای مرتبط بپردازیم و کلاسهای مرتبط با نسخه سوم این فریمورک را هم با فرمهای خودمان سازگار کنیم. مثل مقالهی ذکر شده توضیحات را با یک مثال همراه میکنم. مدل برنامه using System.ComponentModel.DataAnnotations;
using ...
jqGrid از نمایش دو ساختار درختی Nested Set model و Adjacency model پشتیبانی میکند. توضیحات تکمیلی و پایهای را در مورد این دو روش مدل سازی اطلاعات، در مطلب « SQL Antipattern #2 » میتوانید مطالعه کنید.
در اینجا روش Adjacency model را به علت بیشتر مرسوم بودن آن و شباهت بسیار زیاد آن به « مدلهای خود ارجاع دهنده » بررسی خواهیم کرد.
مدل دادهای Adjacency
...