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

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


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

با سلام - در این مقاله به آموزش نحوه استفاده از کنترل PersianDateTimePicker(تقویم فارسی) در برنامه های تحت وب می پردازیم ...


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

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


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

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


اخبار و مقالات در فکر بکر آموزش ساخت صفحه Page Not Found (404) در Aspnet core

در این بخش به اموزش نحوه مدیریت خطا و هدایت کاربر به صفحه Page Not Found (404) در Aspnet core می پردازیم. یکی از مشکلات مهمی ک ...


اخبار و مقالات در فکر بکر نحوه خواندن اطلاعات از فایل appsetting.json در Asp.net Core

فایل appsetting در نسخه های core معادل فایل webconfig در نسخه های قدیمی تر می باشد که برای پیکر بندی تنظیمات کلی پروژه مانند تنظی ...


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

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


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

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


اخبار و مقالات در فکر بکر آشنایی با Asp.net mvc6 بصورت پروژه عملی #2

با سلام - در این قسمت به ادامه مبحث قبلی و آشنایی بیشتر با net core1 و mvc6 می پردازیم . لطفا به ادامه مطلب توجه نمایید. ...


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

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


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

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


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

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


اخبار و مقالات در فکر بکر آموزش نحوه Upload و Download در Asp.net core 2

جهت آپلود یک یا چندین فایل در Asp.net Core MVC از اینترفیس IFromFile استفاده میکنیم. ابتدا یک پروژه از نوع ASP.NET Core Web Appl ...


اخبار و مقالات در فکر بکر استفاده از AutoMapper در C #

با سلام – در این مقاله قصد دارم کلاس کاربردی AutoMapper را به شما کاربران فکر بکر معرفی کنم. ...


اخبار و مقالات در فکر بکر آشنایی با Asp.net mvc6 بصورت پروژه عملی #1

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


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

    }

 

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

5GAEh2

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

ابتدای صفحه