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

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


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

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


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

در این مقاله به آموزش و پیاده سازی سفارشی سیستم احراز هویت کاربران خواهیم پرداخت. معمولا در حالت عادی هر سایت حداقل شامل مدیر سی ...


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

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


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

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


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

در مراحل قبلی نحوه ایجاد فایل configuration و فایل نصب sql server و همچنین ایجاد setup برای نرم افزاری که باید در سیستم مشتری نصب ...


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

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


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

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


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

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


اخبار و مقالات در فکر بکر آموزش استفاده از تابع Contains در عبارات lambda برای انواع مدلها

تابع Contains برای بررسی یک مقدار در یک مجموعه مورد استفاده قرار میگیرد اما نحوه استفاده این تابع برای مدلها نسبت به انواع اولیه ...


اخبار و مقالات در فکر بکر آموزش چگونگی نمایش ویو در پنجره مودال بوت استرپ در Asp.net MVC

در این مقاله به نمایش ویو در پنجره های Bootstrap Modal می پردازیم. لطفا به ادامه مطلب توجه نمایید. ...


اخبار و مقالات در فکر بکر آموزش رمزنگاری فایلها در asp.net core

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


اخبار و مقالات در فکر بکر آشنایی با مفهوم Generic در C#.net

Generics یکی از ویژگی های قدرتمند برای بسیاری از زبان های برنامه نویسی از جمله C# است. که به شما امکان می دهد کدی بنویسید که می ...


اخبار و مقالات در فکر بکر آموزش نحوه ایجاد Extention method در C#

در این بخش با ارائه مثال عملی تبدیل تاریخ میلادی به شمسی به آموزش Extention method می پردازیم. ...


اخبار و مقالات در فکر بکر قالب پنل ادمین

جهت دانلود قالب پنل مدیریتی به ادامه مطلب مراجعه نمایید ...


پیوندها
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; }

    }

 

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

0KhXs4

آموزش کار با کوکی ها (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) --------

ابتدای صفحه