طرح مشکل! نیاز به دریافت انواع و اقسام مقادیر یک جنس (مانند اعداد و یا تاریخ) در کامپوننتهای Blazor
فرض کنید میخواهید عددی را در کامپوننتی، دریافت کنید. میتوان اینکار را با تعریف یک پارامتر عمومی به صورت زیر انجام داد: [Parameter] public int Value { get; set; }
و ... مشکل از همینجا شروع میشود! خوب، برای نوعهای double ، decimal ، float ، long و غیره چه باید کرد؟ آیا باید به ازای هر کدام، یک پارامتر مخصوص را تعریف ...
برای فارسی کردن اعداد در صفحات HTML قبلا از کتابخانههای jquery یا javascript استفاده میکردیم. در این مقاله قصد دارم فارسی کردن اعداد را به کمک کامپوننتهای blazor انجام دهم. البته بهتر است از این روش برای وقتی استفاده کنیم که قرار است متن ما فقط شامل اعداد باشد؛ مثلا فیلدهای عددی یک جدول. یک کامپوننت جدید را به نام PersianNumber به صورت زیر ایجاد میکنیم. در این کامپوننت یک پارامتر را به نام Number داریم که کاراکتر به کاراکتر ...
معماری پیازی توسط جفری پالرمو در سال 2008 ابداع شد. این
معماری راه بهتری را برای ساخت برنامههای کاربردی جهت تست پذیری، نگهداری و قابلیت
اطمینان بهتر بر روی زیرساختهایی مانند پایگاههای داده و خدمات ارائه میدهد.
هدف اصلی این معماری، پرداختن به چالشهای پیش روی معماری 3 لایه و ارائه راه حلی برای مشکلات رایج مانند اتصال و جداسازی وابستگیها است. دو نوع اتصال وجود دارند؛ اتصال محکم و اتصال ضعیف که در ادامه ...
معماری میکرو سرویس یا یکپارچه؟ برای درک میکروسرویسها، باید بدانیم کاربرد سیستمهای یکپارچه چیست و چه چیزی باعث شد در زمانهای اخیر از برنامههای یکپارچه به میکروسرویسها حرکت
کنیم. سیستمهای یکپارچه ( Monolithic applications ) اگر تمام عملکردهای یک پروژه در یک بخش واحد وجود داشته
باشند، آن برنامه به عنوان یک برنامهی یکپارچه شناخته میشود. ما برنامهی خود را در
لایههای مختلفی ...
در زمان توسعهی یک برنامه، شاید به تعداد کاراکترهایی که در یک خط نوشتهایم زیاد توجه نکنیم و در زمان مرور کدها با سایر اعضای تیم و مرج کردن باید به صورت مرتب صفحه را به صورت افقی اسکرول کنیم تا تمامی کدهای نوشته شده را بخوانیم. اما اگر از یک راهنما برای مشخص کردن حداکثر کاراکترهای نوشته شده استفاده کنیم، میتواند در زمان مرور و مرج کردن کمک زیادی به ما کند.
در ویژوال استودیو به صورت پیشفرض این امکان وجود ...
فرض کنید در حال توسعهی یک برنامهی Blazor WASM هاست شده هستید و میخواهید که نیازی نباشد تا به ازای هر صفحهای که به برنامه اضافه میکنید، یکبار منوی آنرا به روز رسانی کنید و نمایش منو به صورت خودکار توسط برنامه صورت گیرد. همچنین در این حالت نیاز است در قسمت مدیریتی برنامه، بتوان به صورت پویا، به ازای هر کاربری، مشخص کرد که به کدامیک از صفحات برنامه دسترسی دارد و یا خیر و به علاوه اگر به صفحاتی دسترسی ندارد، مشخصات این صفحه، در منوی پویا ...
با پیشرفت بیشتر تکنولوژی وب در
سالهای اخیر و رشد کاربران فضای اینترنتی، خدمات و پیچیدگیهای بیشتری به نرم
افزارها اضافه شده و به همین دلیل استفاده از میکروسرویسها بجای حالت قدیمی
مونولوتیک (یک برنامه همه کاره) طرفداران بیشتری پیدا کردهاست. در این حالت برنامه به
قسمتهای خرد و مجزایی تبدیل شده و هر پروژه ساختار و تکنولوژی مخصوص به خود را
مدیریت میکند و در این بین با استفاده روشهای متفاوتی به ایجاد ارتباط با یکدیگر
میپردازن ...
در مواقع بسیاری پیشمیاد که در توسعهی لاجیک پروژهها، نیازمند روند اعتبارسنجی و برگرداندن exception به سمت بخشهای دیگر هستیم. معمولا توسعه دهندگان دات نت به صورت توکار و دستی این validationها را انجام میدهند. یک مثال برایتان میزنم: public class Person
{
public string Firstname { get; private set; }
public string Lastname { get; private set; }
private Person(string firstname, string lastname)
{
...
فرمهای Blazor به همراه پشتیبانی از ویژگی Remote که به همراه ASP.NET Core ارائه میشود، نیستند. هرچند میتوان در حین ارسال فرم به سرور، نتیجهی اعتبارسنجی از راه دور و سمت سرور را به کاربر نمایش داد، اما تجربهی کاربری آن در حد Remote validation نیست. یعنی میخواهیم در حین ورود اطلاعات و یا انتقال focus به کنترل دیگری، اعتبارسنجی سمت سرور صورت گیرد و نه فقط در زمان ارسال کل اطلاعات به سرور، در پایان کار. در این مطلب روشی را جهت پیاده ...
در ادامهی بررسی نکات مرتبط با Minimal API's در دات نت 6، در این قسمت به افزودن متادیتای قابل درک توسط Open API و Swagger خواهیم پرداخت. معادل این نکات را در MVC، در سری « مستند سازی ASP.NET Core 2x API توسط OpenAPI Swagger » پیشتر مشاهده کردهاید.
معادل IActionResult در Minimal API's
در Minimal API's دیگر خبری از IActionResultها نیست؛ اما بجای آن IResult را داریم. برای مثال فرض کنید میخواهیم بدنهی l ...