fekre-bekr,learning,source,سورس,سورس رایگان,آموزش,اخبار,فناوری اطلاعات,mvc,.net,ساری,آموزشگاه,asp.net,c#.net,programing,c++,vb,آموزش برنامه نویسی,دانلود

اشتراک در سایت


مطالب تصادفی
اخبار و مقالات در فکر بکر آموزش پیاده سازی UnitOfWork در Asp.net Core قسمت اول

قبل از اینکه به پیاده سازی UnitOfWork بپردازیم ، نیاز به ایجاد زیرساختهای لازم جهت استفاده از مدلهای موجود در برنامه داریم ، پیش ...


اخبار و مقالات در فکر بکر حل تمرین مسائل برنامه نویسی از بخش کنترل ها (Windows Form) در سی شارپ

جهت مشاهده سوال و دانلود سورس آن لطفا به ادامه مطلب توجه نمایید. ...


اخبار و مقالات در فکر بکر آموزش Serialize و Deserialize اطلاعات در قالب Json به زبان C#.net

JSON مخفف عبارت «Javascript Object Notation» به معنی «نشان‌گذاری شیء جاوااسکریپت» است. و با استفاده از آن میتوان اطلاعات مورد نظر ...


اخبار و مقالات در فکر بکر آموزش ایجاد مگا منو

مگا منو برای سایتهایی که دارای موضوعات زیادی در قسمت دسته بندی مطالب هستند بسیار پر کاربرد می باشد چرا که با توجه به عرض زیاد مگا ...


اخبار و مقالات در فکر بکر حل تمرین مسائل برنامه نویسی از بخش رویدادهای کیبورد (Windows Form) در سی شارپ

در این برنامه سوال مرتبط با تایپ حروف و نمایش آن در کنترل لیبل با توجه به رویدادهای صفحه کلید حل شده است لطفا به ادامه مطلب مراجع ...


اخبار و مقالات در فکر بکر سورس استفاده از کامپوننت Roxy File manager در Asp.net core

در این سورس شما با نحوه استفاده از کامپوننتهای ckeditor و Roxy File manager در Asp.net core اشنا خواهید شد. جهت دانلود بر روی ادا ...


اخبار و مقالات در فکر بکر استفاده از Google Map در Asp.net

در این مقاله میخواهیم به نحوه ی پیاده سازی امکانات Google Maps برای یافتن موقعیت هر مکانی در Asp.net بپردازیم. ...


اخبار و مقالات در فکر بکر آموزش ایجاد برنامه نصب (setup) قسمت اول

برای ایجاد برنامه نصب روشهای گوناگونی وجود دارد اما من سعی کردم تا یک روش جامع که بتواند تمامی نیازهای برنامه نویسان را مرتفع نما ...


اخبار و مقالات در فکر بکر آشنایی با SignalR در Asp.net core

در این آموزش به ساخت یک برنامه real-time با استفاده از SignalR در Asp.net core 2.1 خواهیم پرداخت. ...


اخبار و مقالات در فکر بکر حل تمرین مسائل برنامه نویسی از بخش رویدادهای کیبورد (Windows Form) در سی شارپ

جهت مشاهده سوال و دانلود سورس آن لطفا به ادامه مطلب توجه نمایید. ...


اخبار و مقالات در فکر بکر آموزش ایجاد آدرسهای کاربرپسند(user friendly URLs) در Asp.net MVC

با سلام – در این مقاله به آموزش ایجاد آدرسهای کاربر پسند در برنامه های Asp.net خواهم پرداخت User friendly بودن URLs فقط برای کا ...


اخبار و مقالات در فکر بکر سورس برنامه notepad در سی شارپ

در این برنامه سورس notepad در c# را بصورت رایگان برای شما کاربران عزیز در فکر بکر جهت دانلود قرار دادیم ...


اخبار و مقالات در فکر بکر آموزش ایجاد لینک دانلود در mvc

در این برنامه به آموزش نحوه ایجاد لینک دانلود در برنامه های از نوع Asp.Net MVC می پردازیم. لطفا به ادامه مطلب توجه کنید. ...


اخبار و مقالات در فکر بکر آموزش publish کردن برنامه های Asp.net core بر روی سرور iis

در این آموزش ابتدا یک پروژه ساده با استفاده از asp.net core 2.1 ایجاد میکنیم و سپس آنرا بر روی سرور iis قرار خواهیم داد. ...


پیوندها
5 (1)

در این اموزش قصد داریم مروری بر نحوه ایجاد اتصال داده ای سفارشی جهت درخواست بر روی مدل موجود در پروژه داشته باشیم.
گروه : Asp.net Core
تاریخ انتشار: 1400/11/26

فکر بکر

در این اموزش قصد داریم مروری بر نحوه ایجاد اتصال داده ای سفارشی جهت درخواست بر روی مدل موجود در پروژه داشته باشیم.

همانطور که می دانیم  asp.net core قابلیت map کردن عناصر درون  view با مدلهایی که بعنوان ورودی اکشنها است را دارد.
در این مثال با استفاده از اینترفیس IModelBinder جهت ایجاد انقیاد داده سفارشی بر روی کلاس User می پردازیم.
برای شروع یک پروژه از نوع Asp.net core (MVC) ایجاد میکنیم.
مساله ما در این پروژه فرضی به این صورت می باشد که بتوانیم با استفاده از  ModelBinder خاصیت Username از کلاس  User را بصورت خصوصی عملیات انقیاد داده ای را انجام دهیم. بنابر این یک کلاس با نام User بصورت زیر ایجاد میکنیم.

public class User

    {

        public string Username { get; set; }

    }

 

سپس اکشنهای Index را صورت زیر در کنترلر درج میکنیم.

 

 

  public IActionResult Index()

        {

            return View(User);

        }

 

        [HttpPost]

        public IActionResult Index(User User)

        {

            return View();

        }

 

سعی ما بر این است تا قبل از اینکه نگاشت دادهای فیلد Username  در ویوی مورد نظر بر روی شیئ ,User از اکشن Index انجام گیرد ، با استفاده از Custom Model Binder تمام حروف بزرگ فیلد Username را به حروف کوچک تبدیل نماییم .

در ادامه ویوی index را بصورت زیر ایجاد می کنیم

  

@model ModelBinderSample.Models.User

@{

    ViewData["Title"] = "Home Page";

}

 

<form method="post">

    <div class="form-group">

        <label asp-for="@Model.Username"></label>

        <input type="text" asp-for="Username" class="form-control" />

        <span asp-validation-for="Username" class="text-danger"></span>

    </div>

    <button class="btn btn-success">ارسال</button>

</form>

 سپس کلاس ManagerUsername را که برای نگاشت اختصاصی فیلد Username موزد استفاده قرار خواهد گرفت را بصورت زیر ایجاد میکنیم.

public class ManageUsername : IModelBinder

    {

        public Task BindModelAsync(ModelBindingContext bindingContext)

        {

            if (bindingContext == null)

            {

                throw new ArgumentNullException(nameof(bindingContext));

            }

 

            var modelName = bindingContext.ModelName;//==> for username

 

            // Try to fetch the value of the argument by name

            var valueProviderResult = bindingContext.ValueProvider.GetValue(modelName);

 

            if (valueProviderResult == ValueProviderResult.None)

            {

                return Task.CompletedTask;

            }

            var user = valueProviderResult.FirstValue;

            if(string.IsNullOrEmpty(user))

            {

                return Task.CompletedTask;

            }

            user = user.ToLower();

            bindingContext.Result = ModelBindingResult.Success(user);

            return Task.CompletedTask;

        }

    }

در کلاس فوق متغیر user جهت دریافت مقدار Username از ویوی index مورد استفاده قرار میگیرد و در قسمتهای پایینتر کدهای فوق عملیات تبدیل حروف کوچک به بزرگ انجام میگیرد و در پایان Task با فرمان return Task.CompletedTask خاتمه می یابد.

اکنون جهت اتصال کلاس فوق به کلاس User جهت مدیریت Username ، باید کلاس User را بصورت زیر ویرایش کنیم.

public class User

    {

        [ModelBinder(typeof(ManageUsername))]

        public string Username { get; set; }

    }

 

شما اولین نفری باشید که نظر میدهید

UpycXV

آموزش کار با کوکی ها (Cookie) در Asp.net core -------- آموزش رمزنگاری فایلها در asp.net core -------- مقایسه واحدهای اندازه گیری rem و em در css -------- آشنایی با مفهوم Generic در C#.net -------- نحوه خواندن اطلاعات از فایل appsetting.json در Asp.net Core -------- آموزش استفاده از CQRS و Mediator در Asp.Net Core -------- نحوه ایجاد image checkbox در html css -------- عملیات crud و WebApi در Asp.net 6 -------- آموزش ایجاد custom model binder در Asp.net core -------- آموزش استفاده از Log4net در Asp.net 5 -------- آموزش پیاده سازی UnitOfWork در Asp.net Core قسمت اول -------- پیاده سازی Repository Pattern بصورت Generic Class -------- وارد کردن فقط حروف فارسی و جلوگیری از ورود حروف فارسی در تکست باکس با استفاده از JQuery -------- سورس استفاده از کامپوننت Roxy File manager در Asp.net core -------- آموزش ساخت صفحه Page Not Found (404) در Aspnet core -------- آموزش ایجاد Tag Helper سفارشی در Asp.net core -------- آموزش نحوه ایجاد Model برای دیتابیس موجود در Entity Framework Core -------- آموزش نحوه Upload و Download در Asp.net core 2 -------- آموزش dependency injection در Asp.net core 2 -------- آموزش تحت شبکه کردن برنامه های مبتنی بر c# در sql server -------- آموزش استفاده از Bundler & Minifier در Asp.Net Core -------- مروری بر Identity در Asp.net core2.1 (بخش دوم) -------- مروری بر Identity در Asp.net core2.1 (بخش اول) -------- آموزش مبحث Single Responsibility Principle (SRP) از بخش اصول طراحی شی گرا (SOLID) -------- آموزش publish کردن برنامه های Asp.net core بر روی سرور iis -------- پیاده سازی مسیریابی با استفاده از الگوریتم پیمایش اول سطح یا جستجوی اول سطح (BFS) در سی شارپ -------- آشنایی با SignalR در Asp.net core -------- آموزش استفاده از کلاس SeedData در Asp.net Core -------- قالب سایت فروشگاهی -------- آموزش ایجاد برنامه نصب (setup) قسمت سوم -------- آموزش ایجاد برنامه نصب (setup) قسمت دوم -------- آموزش ایجاد برنامه نصب (setup) قسمت اول -------- آموزش عملیات CRUD با استفاده از Ragor Pages در Asp.net Core2.0 -------- آموزش ثبت تصویر توسط دوربین در برنامه نویسی اندروید به زبان c#.net -------- حل مساله n وزیر با استفاده از الگوریتم ژنتیک و بصورت گرافیکی -------- آموزش نمایش تصویر loading در سمت client جهت بارگزاری صفحات با حجم زیاد از سرور در asp.net mvc -------- آموزش اعتبار سنجی غیر همزمان(AsyncValidation) با استفاده از جاوااسکریپت در Asp.net mvc -------- آموزش ایجاد breadcrumb با استفاده از sitemap در MVC -------- آموزش ایجاد برنامه چت دوطرفه با استفاده از Socket در سی شارپ -------- آموزش ارسال و دریافت فایل در برنامه تحت شبکه با استفاده ار سوکت (Socket) --------

ابتدای صفحه