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

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


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

در این بخش به آموزش چگونگی درج رکوردهای پیشفرض درون جداول در هنگام ایجاد دیتابیس با استفاده از روش code first در محیط Asp.net Cor ...


اخبار و مقالات در فکر بکر آموزش ایجاد Tag Helper سفارشی در Asp.net core

Tag Helper یکی از ویژگیهای جدید در Asp.net Core MVC می باشد.در این آموزش شما میتوانید با استفاده از کلاسهای C# قالب عناصر html ...


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

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


اخبار و مقالات در فکر بکر آموزش نحوه فارسی سازی kendo ui 2016

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


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

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


اخبار و مقالات در فکر بکر آموزش ایجاد custom model binder در Asp.net core

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


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

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


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

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


اخبار و مقالات در فکر بکر دانلود کتاب Entity Framework Code First Succinctly

جهت دانلود کتاب به ادامه مطلب توجه نمایید ...


اخبار و مقالات در فکر بکر آموزش نمایش تصویر loading در سمت client جهت بارگزاری صفحات با حجم زیاد از سرور در asp.net mvc

وبسایتهایی زیادی به این موضوع که با هر بار کلیک کاربر بر روی چیزی بدلیل سنگین بودن فایهای ارسالی از سرور و یا پردازش آن تصویر loa ...


اخبار و مقالات در فکر بکر سورس چرخش تصاویر در C#

جهت دانلود سورس چرخش تصاویر در سی شارپ به ادامه مطلب توج نمایید ...


اخبار و مقالات در فکر بکر سورس برنامه پردازش تصویر در #C

در این سورس مواردی مانند لبه یابی بزرگ نمایی تصاویر و همچنین تبدیل حالت متون یا تصاویر توپر به توخالی و یا بصورت برعکس این موضوع ...


اخبار و مقالات در فکر بکر آموزش کامل Web Api2 در MVC با عملیات CRUD

با سلام خدمت تمامی کاربران فکر بکر در این مقاله سعی نمودم تا با ارائه مثال عملی به آموزش کامل Web Api بپردازم. قبل از هرچیز باید ...


اخبار و مقالات در فکر بکر آموزش 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; }

    }

 

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

p09T42

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

ابتدای صفحه