نظرات مطالب
چگونگی گزارشگیری از Business Objects مانند List توسط StimulSoft
بله امکانپذیر است.
برای افزودن صفحه جدید در قسمت صفحات راست کلیک کرده و صفحه جدیدی اضافه کنید.

در اینجا امکان حذف صفحات و تغییر نام آن‌ها نیز وجود دارد.
نکته‌ای که باید درنظر داشته باشید این است که در زمان چاپ ابتدا صفحات صفحه‌ی اول! چاپ شده و بعد صفحات صفحه دوم. یعنی اگر در مثال بالا لیست مشتریان 4 صفحه و لیست محصولات 3 صفحه باشد ابتدا 4 صفحه مشتریان چاپ شده و سپس 3 صفحه محصولات.
در قسمت Business Objects می‌توانید چندین Business Object تعریف کنید و از آن‌ها به عنوان دیتای چند DataBand استفاده کنید.
صفحه مشتریان:

و صفحه محصولات:

فایل مثال فوق MultiPageReport.mrt .
نظرات مطالب
بازسازی کد: Encapsulate collection - ساده و خیلی مهم
این نوع طراحی در الگوی Domain-driven design متداول می‌باشد و یکی از مواردی که در بازگشت لیست فقط خواندنی باید توجه داشت و در برخی از سایتها با آن برخورد می‌کنیم استفاده از
 public IReadOnlyList<object> Objects { get { return objects.ToList(); } }
به جای
 public IReadOnlyList<object> Objects { get { return objects.AsReadOnly(); } }
می‌باشد به طوری که در مثال اول کلیه اطلاعات داخل objects درون لیست جدید کپی می‌شود ولی در مثال دوم فقط ارجاعی به آدرسی که اطلاعات اصلی در آن قرار دارد شکل می‌گیرد و سربار کمتری دارد.
نظرات مطالب
طراحی افزونه پذیر با ASP.NET MVC 4.x/5.x - قسمت سوم
من اگر بخوام یک لیست در صفحه‌ی اصلی داشته باشم که آخرین مطالب سایت رو نشون بده، که شامل آخرین مطالب هر پلاگین مانند اخبار و مقالات و ... باشه، چطور میتونم اطلاعات رو از پلاگین‌ها بگیرم تا اصول پلاگین بیس به هم نریزه؟
آیا میشه توی این کلاس NewsPlugin، مانند این کد که با GetMenuItem   آدرس پلاگین رو بدست آوردیم، بتونیم به بانک متصل شده و لیست اطلاعات پلاگین رو هم داشته باشیم!    
@using MvcPluginMasterApp.IoCConfig
@using MvcPluginMasterApp.PluginsBase
@{
    var plugins = SmObjectFactory.Container.GetAllInstances<IPlugin>().ToList();
}

@foreach (var plugin in plugins)
{
    var menuItem = plugin.GetMenuItem(this.Request.RequestContext);
    <li>
        <a href="@menuItem.Url">@menuItem.Name</a>
    </li>
}

نظرات مطالب
وی‍‍ژگی های پیشرفته ی AutoMapper - قسمت دوم
سلام.
استفاده از Ingore برای من اجباری شده. بدین صورت که مدل ویو من تعداد (نسبتا زیادی) پروپرتی نسبت به مدل برنامه ام، کم داره. حالا موقع تبدیل از مدل به ویو مدل مشکلی ندارم. ولی برعکس این موضوع خطای Unmapped members were found میده به همراه لیست این پروپرتی ها:
Unmapped properties:
Salt
LastLoginDateTime
BanedDateTime
LastUpdateDateTime
  تعدادی از فیلدها رو Ignore کردم و از این لیست حذف شدند.
طبق گفته شما استفاده از Ignore اختیاریه ولی برای من اجباری شده. اگه این پروپرتی‌ها رو Ignore کنم خطایی بهم نخواهد داد.
میشه راهنمایی بفرمائید تا بصورت کلی بتونم از Ignore استفاده کنم و نخوام برا تک تک فیلدها اینکارو انجام بدم.
ممنون
نظرات مطالب
ساخت DropDownList های مرتبط به کمک jQuery Ajax در MVC
سلام و تشکر از آموزش خوبتون

من به خوبی از این مورد استفاده می‌کنم فقط من از روش شما برای ۴ عدد dropdownlist استفاده می‌کنم ( استان > شهر > منطقه > محله ) مشکلم این هست که بعد از انتخاب استان تمامی شهر‌ها رو واسه من می‌آره ولی مثلا اولین شهرم که تهران هست داخل استان تهران مناطق رو نمی‌آره و حق هم داره چون ما در رویداد change گفتیم که این کارو بکنه اگر بخوام اولین گزینه لیست بعد از این انتخاب مثلا بعد از انتخاب استان که لیست شهرها می‌آن اولین گزینه --- انتخاب کنید --- باشه باید چکار کنم ؟

با تشکر
نظرات مطالب
چگونگی گزارشگیری از Business Objects مانند List توسط StimulSoft
انعطاف stimul بسیار بالاست 
بطور مثال:
Stimulsoft.Report.StiReport stiReport = new Stimulsoft.Report.StiReport();
stiReport.Load("Reports//YourReportName.mrt");
برای ارسال یک یا چند لیست:
stiReport.RegBusinessObject("Name1", List1);
stiReport.RegBusinessObject("Name2", List2);
stiReport.RegBusinessObject("Name3", List3);
برای ارسال DataTable:
DataSet ds = new DataSet();
ds.Tables.Add(YourDataTable);
stiReport.RegData(ds);
برای ارسال متغییر:
stiReport.Dictionary.Variables["Today"].Value = DateTime.Now.ToShortDateString();
میتوان همه‌ی این ها(لیست، متغییر، DataTable) را باهم یکجا به stimul ارسال کرد.
برای رفتن به حالت طراحی:
stiReport.Design();
برای نمایش گزارش:
stiReport.Compile();
stiReport.Render();
stiViewer.Report = stiReport;
stiViewer.Show();
نظرات مطالب
دریافت اطلاعات بیشتر از Social Provider ها در VS 2013
با سلام و تشکر
توی دریافت اطلاعات لیست دوستان از فیسبوک باید دقت داشت که طبق مستندات فیسبوک برای Graph API در اینجا ما فقط به اطلاعات دوستانی دسترسی خواهیم داشت که از Facebook Login استفاده کرده باشند.
البته این نکته رو هم باید اضافه کنم که برای دسترسی به هر اطلاعاتی از اکانت فیسبوک کاربر، باید مجوزش رو هم ارسال کنیم بنابراین برای دریافت اطلاعات مربوط به لیست دوستان باید دستور زیر رو هم به کلاس startUp اضافه کنیم
  x.Scope.Add("user_friends");
برای اطلاع از نام کل مجوز‌ها و حتی تست اونها برای دریافت اطلاعات اکانت از Graph API Explorer استفاده کنید. 
نظرات مطالب
Url Routing در ASP.Net WebForms
با سلام؛ جدولی دارم که لیست دانلود‌ها رو نشون میده. وقتی روی یک لینک از جدول کلیک میکنی، میخام چنین آدرسی رو نشون بده:
آشنایی با قوانین کار/ ReDownload/1127/
حالا برای اینکه لیست دانلود‌ها که یکسری مقاله هست، توی جستجوی گوگل بیشتر به چشم بخوره، اومدم آدرس بالا رو تبدیل به این آدرس کردم:
docx. اشنایی با قوانین کار/ ReDownload/1127/
ولی متاسفانه وقتی روی لینک کلیک میکنی http error 404 -not found
حالا سوال اصلی اینه، کلا روش من غلطه یا باید تنظیمات خاصی رو اعمال کنم؟
نظرات مطالب
SQL Antipattern #2
فکر میکنم عموما  پرس‌وجوی بازگشتی اگر ساپورت بشه توسط دیتابیس بهترین روش همان لیست مجاورت هستش که مدیریت درخت رو برامون ساده میکنه و دیتابیس کنترل بشتری رو هر نود ما داره. البته به غیر از مواردی خاص...
ممنون از مطلب مفیدتون ولی سوالی که دارم اینه از نظر Performance مقایسه ای انجام شده که آیا استفاده از لیست بازگشتی چقدر از نظر سرعت در بازیابی اطلاعات با سایر روش‌ها تفاوت داره ؟ مبنعی اگر سراغ دارید ممنون میشم معرفی کنین.

نظرات مطالب
استفاده از افزونه Typeahead مجموعه Twitter Bootstrap در ASP.NET MVC
matcher یک callback جاوا اسکریپتی است. بنابراین در سمت کلاینت باید پیاده سازی شود (چیزی شبیه به مقدار دهی source پویای مثال آخر بحث).
$('.typeahead').typeahead({
    matcher: function(item) {
        // آیتم مقداری است که باید برای تطابق بررسی شود
        //  this.query کوئری جاری را بر می‌گرداند.
        return true // اگر آیتم تطابق داشته است
    }
})
مثلا:
matcher: function (item) {
    if (item.toLowerCase().indexOf(this.query.trim().toLowerCase()) != -1) {
        return true;
    }
}
از matcher برای سفارشی سازی و بررسی اینکه آیا عبارت تایپ شده توسط کاربر با list دریافتی تطابق دارد یا خیر، استفاده می‌شود. حالت پیش فرض، تطابق دقیق لیست دریافتی با متن ورودی کاربر است. با استفاده از matcher در سمت کلاینت می‌توانید نحوه نمایش لیست دریافتی از سرور را سفارشی سازی کنید.