نظرات مطالب
کار با وب سرویس جاوایی تشخیص ایمیل‌های موقتی در دات نت
با سلام و تشکر
در هنگام اجرای مثل با خطای زیر مواجه می‌شوم
An unhandled exception of type 'System.ServiceModel.ProtocolException' occurred in mscorlib.dll

Additional information: The content type text/html of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 13 bytes of the response were: '<HTML></HTML>'. 
نظرات مطالب
معرفی Kendo UI
بله امکان استفاده از wrapper در نسخه asp.net.mvc.commercial وجود دارد
استفاده از اون هم خیلی ساده‌تر و خواناتر از جاوا اسکریپت هست. نظر آفای نصیری هم محترم است ولی در مواقع خواص میتونید همزمان هم از جاوااسکریپت استفاده کنید هم از wrapper یک نمونه رو در زیر با هم مقایسه میکنیم
با استفاده از جاوا اسکریپت
<input id="pickDate" type="text"/>

<script type="text/javascript">
  $(function() {
        $("#pickDate").kendoDatePicker();
  });
</script>
با استفاده از wrapper
@(Html.Kendo().DatePicker().Name("pickDate"))
در ضمن اینکه توی  wrapper امکان استفاده از Intellisense و امکان تعریف ارتباط اغلب کامپوننت‌های وب به مدل با استفاده از for‌های نمونه معادل کامپوننت فراهم شده است مانند wrapper زیر
@(Html.Kendo().DatePickerFor(m => m.HireDate).Name("pickDate1"))

نظرات مطالب
آموزش (jQuery) جی کوئری 7#
سلام
مثلا در مورد طراحی یک سایت که اطلاعاتی بصورت تکراری پشت سر هم تکرار میشن (مثلا کامنت‌های که برای یک موضوع ارسال میشن) چطور باید باید اطلاعات مثلا مربوط به یک فیلد رو  دستکاری انجام بدیم
برای مثال
@foreach(var item in Model)
{
   <td class="text-right itemfarsi">@item.Farsi</td>
}
چطور میشه مثلا همین تیبل دیتا رو برای هر کامنت باتوجه به متن اون تغییر داد
من با استفاده از کد‌های زیر دستور خودم رو انجام میدم اما در مورد تمام مطالب فقط اطلاعات مربوط به قسمت اول رو برمیگردونه.
    $(document).ready(function () {
        var content = $(".itemfarsi").text();        
        if (content.length >= 50) {
            var mycont = content.substring(0, 50);           
            $(".itemfarsi").html(mycont);
        } else {            
            $(".itemfarsi").html(content);
        }            
    });
نظرات مطالب
ASP.NET MVC #12
ممنون؛ به سایتی که معرفی کردید رفتم و هر دو فایل jquery.price_format.2.0.js و jquery.price_format.2.0.min.js  رو به پروژه اضافه کردم. تو view خطوط زیر رو نوشتم:
<script src="../../Scripts/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.price_format.2.0.js" type="text/javascript"></script>

ولی باز هم نتیجه نگرفتم. میشه لطف کنید راهنمائیم کنید که چطور از اون مثال استفاده کنم؟

نظرات مطالب
نحوه صحیح تولید Url در ASP.NET MVC
در View مورد نظر یک section تعریف کنید به نحو زیر (که در آن می‌شود متغیرها را تعریف کرد):
@Section scriptVariables {
    <script type="text/javascript">
        var variableA = '@MyVarA';
    </script>
}
سپس در فایل layout سایت، پیش از الحاق اسکریپت اصلی آن‌را فراخوانی کنید:
<head>
    <meta charset="utf-8" />
    @RenderSection("scriptVariables", false)

    <script src="@Url.Content("~/Scripts/custom.js")" type="text/javascript"></script>
</head>

نظرات مطالب
اعمال متداول با select (یا همان DropDownList / ComboBox) توسط jQuery
سلام،
می‌تونید از مقاله تعیین اعتبار یک checkBoxList با کمک jQuery کمک/ایده بگیرید:
https://www.dntips.ir/2009/08/checkboxlist-jquery.html

کنترل radiobuttonlist جزو اختراعات مایکروسافت است! به این صورت که هنگامیکه رندر می‌شود خروجی یک جدول است حاوی input و label استاندارد html .
بر این اساس، پیدا کردن مقدار text و val آن به صورت زیر می‌تواند باشد:
$("table#<%=RadioButtonList1.ClientID %> input:checked").val()
$("table#<%=RadioButtonList1.ClientID %> input:checked").siblings("label").text()
مطالب
بازسازی کد: جداسازی متغیر موقتی (Split temporary variable)
در حالت‌هایی که متغیر موقتی‌ای در متد وجود دارد که چندین بار مقدار دهی می‌شود، احتمالا به چنین بازسازی کدی نیاز است. قبل از ادامه بحث در این باره نیاز است یک نوع از متغیرهای محلی را بررسی کرد. 
متغیر محلی تجمعی (Collecting temporary variable): متغیری ای که در بدنه متد یا عبارت‌های loop مقدار آن به مرور تکامل می‌یابد یا اضافه می‌شود. نمونه‌ای از چنین متغیرهایی شمارنده‌های loop و یا رشته‌هایی هستند که بسته به شرایط خاص در متد تولید و مقادیر آنها تکامل می‌یابند. پر کردن یک stream و اضافه کردن به یک متغیر از نوع موقتی collection نیز نشانه‌هایی از این نوع متغیر هستند. 
معمولا متغیرهای محلی تجمعی نیازی به جداسازی ندارند. اما متغیرهای محلی‌ای غیر از این نوع، نیاز به بازسازی خواهند داشت. متغیرهایی که برای نگهداری مقداری و استفاده از آن در ادامه بدنه متد ایجاد می‌شوند، یکی از دلایل اصلی طولانی شدن بدنه یک متد هستند.
به طور مثال به تکه کد زیر توجه کنید. در این تکه کد متغیری به نام temp در خط اول ایجاد شده که در خط سوم مورد استفاده مجدد قرار گرفته است. بیشترین سناریویی که نیاز به بازسازی دارد به این صورت هستند. 
double temp = 2 * (_height + _width); 
Console.WriteLine(temp); 
temp = _height * _width; 
Console.WriteLine(temp);
این تکه کد را می‌توان به صورت زیر بازسازی کرد:
readonly double perimeter = 2 * (_height + _width); 
Console.WriteLine(perimeter); 
readonly double area = _height * _width; 
Console.WriteLine(area);

مراحل انجام این بازسازی کد 

  1. نام متغیر موقتی را در خط مربوط به ایجاد و اولین مقداردهی به آن تغییر دهید. 
  2. متغیر موقتی را readonly کنید. 
  3. تمامی دسترسی‌ها به متغیر موقتی را تا مقداردهی بعدی به متغیر تغییر نام یافته تغییر دهید. 
  4. متغیر موقتی را در مکان مقداردهی بعدی به متغیر ابتدایی تعریف کنید. 
  5. کد را کامپایل و تست کنید. 
  6. مراحل بالا را برای هر مقداردهی به متغیر موقتی اولیه تکرار کنید. 
به زبان ساده‌تر در بازسازی کد جداسازی متغیر موقتی به ازای هر استفاده از متغیر موقتی اولیه یک متغیر جدید را ساخته و استفاده می‌کنیم. به شبه کد زیر توجه کنید:
var temp = "some text"; 
// temp usage 
  
temp = "some other text"; 
// temp usage 
  
temp = "yet another text"; 
// temp usage 
  
temp = "final text"; 
// temp usage
در این کد یک متغیر موقتی بارهای مقداردهی و استفاده مجدد شده است. دید کلی در بازسازی این کد به صورت زیر است.
var temp = "some text"; 
// temp usage 
  
var temp2 = "some other text"; 
// temp 2 usage 
  
var temp3 = "yet another text"; 
// temp 3 usage 
  
var temp4 = "final text"; 
// temp 4 usage
زمانیکه از یک متغیر موقتی چندین بار در یک متد استفاده می‌شود، ممکن است این مورد ناشی از وجود مسئولیت‌های بیش از اندازه در یک متد باشد و با استفاده از بازسازی کد استخراج متد به طریق دیگری مشکل متغیرهای موقتی حل شود. اما برای انجام استخراج متد نیز در نهایت نیاز است ابتدا بازسازی جداسازی متغیر موقتی را انجام دهید تا بلوک‌های کد قابل استخراج مشخص‌تر شوند.
پاسخ به بازخورد‌های پروژه‌ها
نمایش گزارش در پنجره جدید
برای نمایش گزارش تولید شده؛ به روش FlushType.Inline، در تب یا پنجره جدید هنگام کلیک بر روی Button، می‌بایست تکه کد زیر را به رخداد OnClientClick افزود:
<asp:Button ID="btnGenerateReport" runat="server"
                Text="Generate Report"
                CssClass="btn btn-success btn-generate"
                resourcekey="GenerateReportButton"
                OnClientClick="return openNewWindow();"
                OnClick="btnGenerateReport_Click" />

<script type="text/javascript">
    function openNewWindow () {
        document.forms[0].target = '_blank';
        setTimeout(function () { window.document.forms[0].target = ''; }, 0);
    }
</script>

بازخوردهای پروژه‌ها
متد های AddMonths و AddYears
با سلام
اول می‌خواستم تشکر کنم بابت کلاس تاریخ و زمان شمسی
بعد می‌خواستم بگم که این کلاس در توابع
AddMonths
AddYears
مشکل داره
بعنوان مثال وقتی با استفاده از تابع AddMonths می‌خوای یک ماه به تاریخ جاری(از تاریخ امروز استفاده می‌کنم) اضاف کنید به روز هم اضاف می‌شه در مورد سال هم به این صورته که اگه بخوای به تاریخ جاری یک سال اضاف کنید فک کنم هر چهار بار(یعنی چهار بار عمل اضاف کردن با سال را بصورت یک واحد) تاریخ روز تغییر می‌کند.
کدی که من استفاده می‌کنم :
 PersianDateTime PD = PersianDateTime.Parse(maskedTextBox1.Text);
MessageBox.Show(PD.ToString());
PD = PD.AddMonths(1);
MessageBox.Show(PD.ToString());
maskedTextBox1.Text = PD.ToString();
نظرات اشتراک‌ها
چرا از آنگولار به ری اکت + ری داکس سوئیچ کردم!
- فسلفه React مبتنی بر مخلوط کردن جاوا اسکریپت و HTML با هم هست در فایل‌های JSX (نوشتن HTML با کدهای جاوا اسکریپت). به این صورت شما مزیت‌های ذاتی HTML و CSS را یکجا از دست می‌دید؛ چون دیگه نمی‌تونید HTML جدا یا CSS جدای از جاوا اسکریپت را داشته باشین. در حالیکه در Angular این دو یا این سه (TypeScript، HTML و CSS) از هم جدا هستند که مزیت آن دسترسی به انواع ادیتورهایی هست که بدون اینکه برای Angular نوشته شده باشند، در همان بدو معرفی آن، با آن سازگار هستند که سادگی توسعه را به همراه داره. شاید تولید کامپوننت‌های ساده React تولید شده با کدهای جاوا اسکریپتی ساده باشه، اما کمی که حجم آن بیشتر شد، کنترل و مدیریت این مخلوط، سخت‌تر و سخت‌تر میشه و به علاوه مخلوط کردن کدهای یک فریم ورک با HTML و CSS خیلی شبیه به PHP کلاسیک و یا ASP کلاسیک هست و این روزها کسی را پیدا نمی‌کنید که برای پروژه‌های واقعی حتی از PHP در حالت کلاسیک آن بدون یک فریم ورک جانبی استفاده کنه. در Angular از همان بدو امر مباحث طراحی ماژول‌ها، کامپوننت‌ها و جدا سازی کدها به صورت ذاتی طراحی شده‌اند.
- مزیت کار کردن با TypeScript در مقایسه با ES6 خالص در React، امکان دسترسی به کامپایل آفلاین هست و مباحث پیشرفته‌ی کامپایلر مانند tree-shaking (حذف کدهای مرده) و AOT (a head of time compilation) که سبب می‌شن هم حجم نهایی کمتری تولید شود و هم پیش از اجرای برنامه در مرورگر و سپس یافتن باگ‌های احتمالی در زمان اجرا، پیش از موعد و توسط کامپایلر این باگ‌ها گزارش شوند. اگر قصد داشته باشید به یک چنین کیفیت و بررسی کدی در React برسید، باید تعداد آزمون‌های واحد قابل توجهی را داشته باشین تا بتونید یافتن مشکلاتی را که کامپایلر TypeScript گوشزد می‌کند، شبیه سازی کنید. همچنین شما در TypeScript می‌تونید به تمام امکانات پیشرفته‌ی زبان جاوا اسکریپت (حتی پس از ES6) دسترسی داشته باشید، اما کد نهایی جاوا اسکریپتی تولید شده‌ی توسط آن‌را برای ES5 که تمام مرورگرها از آن پشتیبانی می‌کنند، تولید کنید که این هم خودش یک مزیت مهم هست. بنابراین TypeScript فقط یک static type checker ساده نیست.
- اینکه Angular یک فریم‌ورک هست به خودی خودش یک مزیت مهم هست نسبت به React که یک کتابخانه است و اجزای آن باید از منابع مختلفی تهیه شوند. فریم ورک یعنی به روز رسانی‌های منظم تمام اجزای آن توسط خود تیم Angular و سازگاری کامل و یک‌دست هر جزء با نگارش فعلی یا همان آخرین نگارش موجود. اگر با دنیای وابستگی‌های ثالث در یک پروژه‌ی واقعی کار کرده باشید به خوبی می‌دونید که هر چقدر تعداد آن‌ها کمتر باشند، نگهداری طولانی مدت آن پروژه آسان‌تر می‌شود؛ چون روزی ممکن است آن کتابخانه‌ی ثالث دیگر توسعه پیدا نکند، یا منسوخ شود یا دیرتر از آخرین نگارش ارائه شده به روز رسانی شود. مزیت داشتن یک فریم ورک یک‌دست، درگیر نشدن با این مسایل است؛ خصوصا اینکه عموما کتابخانه‌های ثالث کیفیتشون در حد کتابخانه‌ی اصلی نیست و اینکه مثلا خود تیم Angular ماژول روتر، اعتبارسنجی یا فرم‌های اون رو توسعه می‌ده، قطعا کیفیتشون از کتابخانه‌های ثالث دیگه بهتر هست.
- در مورد سرعت و کارآیی و حتی مصرف حافظه، مطابق  یک benchmarck خیلی معتبر، وضعیت Angular اندکی بهتر از React است؛ هرچند در کل از این لحاظ به هم نزدیک هستند.
- این مباحث انحصاری شدن و این‌ها هم در مورد محصولات سورس باز، زیاد مفهومی ندارند و بیشتر یکسری شعار ایدئولوژیک هست توسط کسانیکه حتی تغییر رفتار این شرکت‌ها را هم دنبال نمی‌کنند و منابع و ماخذی رو که مطالعه کردن مربوط به یک دهه قبل هست.