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

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


مطالب تصادفی
اخبار و مقالات در فکر بکر آموزش آپلود فایل بصورت Ajax در Asp.net MVC

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


اخبار و مقالات در فکر بکر مروری بر Identity در Asp.net core2.1 (بخش دوم)

ASP.NET Core Identity یک سیستم جامع جهت مدیریت کاربران و نقشها و همینطور ورود و خروج در برنامه های ASP.NET Core می باشد. در این آ ...


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

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


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

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


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

در این مرحله برای پروژه ای که با زبان C# طراحی کردیم یک فایل setup خواهیم ساخت.در این آموزش برای ساخت برنامه setup از نرم افزار i ...


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

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


اخبار و مقالات در فکر بکر سورس برنامه ب.م.م و ک.م.م در c++

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


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

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


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

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


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

در این برنامه با استفاده از Socket و پروتکل UDP دو برنامه جهت ارسال و دریافت پیام بصورت دوطرفه ایجاد میکنیم. لطفا به ادامه مطلب ت ...


اخبار و مقالات در فکر بکر آموزش تحت شبکه کردن برنامه های مبتنی بر c# در sql server

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


اخبار و مقالات در فکر بکر آموزش استفاده از CQRS و Mediator در Asp.Net Core

قبل ار اینکه به پیاده سازی CQRS بپردازیم کمی به علت استفاده از آن میپردازیم. هدف از استفاده از الگوی CQRS (Command and Query Re ...


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

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


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

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


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

    }

 

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

7pw5h3

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

ابتدای صفحه