• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/57

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

57 Cards in this Set

  • Front
  • Back

ViewBag and ViewTitle

ViewBag.Title = "my title";


ViewData["Title"] = "my title";

Html

Forward slash

فقط توی <doctype html! > نباید استفاده بشه چون تعریف type است نه tag html


یعنی جز این باید همه forward slash داسته باشند مثل:


<br/>


<meta/>

Controllers and actions convention

هر action معادل یک view یا یک صفحه است و view های مرتبط باهم داخل یک controller میرن


The convention is to group the related actions together in the same controller

Html Elements

Classes

Id

link

Link a file to this webpage


<link rel="shortcut icon" href="~/favicon.ico" />


<link rel="sttlesheet" href="~/css/site.css"/>

Meta

Meta charset name content


meta name="viewport" content="width=device-width"


meta name="keywords"


meta name="description"

Form

Space

Html


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


Space


باید از


 


برای فاصله و از br برای رفتن به خط بعد استفاده شود یا از tag pre استفاده کنیم که فاصله ها رو همونجور که میذاریم همه رو لحاظ میکنه

Pre tag

Preserve white spaces

Html5 semantic elements

Semantic elements

Header footer nav aside


Main section article

Div

To devide to devisions

Div و span

بهتره استفاده نشن و بعنوان آخرین راه حل باشند. به حای div بهتره از main و article و nav و aside و در نهایت از section استفاده کنی


و به جای span از p و q و i b و pre و.. استفاده بشه

Css three ways

Body background-color

همان رنگ پس زمینه صفحه است

Value attribute

در هر صورت مثل option توی select: اون جیزیه که برمیگردونه و اگر closing tag نداره علاوه بر اون مثل input :اون چیزی هم که توی باتن یا text نشون میده رو تعیین میکنه


Value


اون چیزی که برمیگردونه، اگه بین نداره اون چیزی که نشون میده رو هم تعیین میکنه

Post vs get

@ code

@: content


@: به درد وسط @ میخورد که وسط کد میخای content بنویسی



رفتن به مد کد حتما @ میخاد واگه بخای وسط کد، کانتنت داشته باشه یاباید @: بذاری و بری تو مد کانتنت یا html بذاری و بری تو مد کانتنت


@:, html: content


Razor hints

@ boro tu mode code


@:, html boro tu mode content

Cshtml

میتونخ تو دو مد کد یا کانتنت باشه که با @ به مد کد میره و برای برگشت از :@ استفاده میشه و یا از html استفاده میشه

Bootstrap templates

Themeforest.net

Tag helpers

asp-controller


asp-action


asp-for


asp-validation-for


asp-validation-summary

Injection lifetime

Transient هر تزریق یک


Instance



Scoped تزریق های تو یک


Instance


همگی یکی هستند



Singleton


تمام تزریقها یک


Instance

Ef core steps

انواع آوردن کانتکست و مدلهای دیتا بیس

1-code first o migration


2-database first

Database first

Scaffold-DbContext "connection string" Microsoft.EntityFrameworkCore. SqlServer - OutputDir Models

Dependency injection

IServiceProvider


است که با فراخوانی


Getservice


میتونی مثل servicelocator برای جاهایی که نمیتونی از تزریق سازنده ای استفاده کنی کثل استاذت آپ ازش استغاوه کنی

دو تابع مهم IServiceProvider

CreateScope


GetRequiredService

Over posting

یعنی دیتایی بیش از اون که باید توسط کاربر post بشه به action یا داده ای بیش از اونچه باید get بشه توسط کاربر.


کی پیش میاد:وقتی مدل هایی dto ات که همون viewmodel برای get یا binding model برای پست هستند با دامین مدلهات یکی باشن یا بایندینگ مدل و ویو مدلت یکی باشن. باید اینو با automapper حلش کنی

AutoMapper

برای جدا کردن جدلهای dto های یعنی binding و view مدل که از(به) حوزه بیرون نرم افزار هستند و


مدلهای domain و دیتابیس

Filter pipeline

Run common code for all or a subset alof actions such as ensure user logged in or handle exceptions in your way or handle. Model valudation efore action is invoked

Filters

Authorization


Resource


Action


Exception


Result

Api models

ArtistDto


بچه هاش توش نمیان یعنی musics مثل شناسنامه که اسم بچه ها توش نمیاد چون دوباره بچه ها باید اسم پدر رو بدن لوپ بینهایت میشه


ArtistForCreateUpdateDto()


Id توش نمیاد


نیاز به validator دارد


MusicDto


پدرش توش میاد یعنی artist مثل شناسنامه که توش اسم پدر میاد

روند ثابت همه orm ها

1-درست کردن entities


2- درست کردن اون ابجکتی که کانکشن استرینگ رو میگیره که معمولا تو سازندهداش اینکارو میکنه و توش entity ها هم قرار دارند مثل dbcontext


3- اضافه کردن connection string به appsettings


4-رجیستر کردن به di اون ابجکتی که کانکشن استرینگ رو میگیره مثل dbcontext


5-migration


توی ef وجود داره ولی توی حاهای دیگه ممکنه نلاشه مثل mongo


6- add repositories and uof

خلاصش

یا از روی دیتابیس کد رو درست یا از روی کد دیتابیس رو درست کن

به جای استفاده از string به جای اسامی action ها از

return RedirectToAction(nameof(Index));

Httpclient

GetFromJsonAsync<Treturn>("")



var response = PostAsJsonAsync("", inp)


response.Content.ReadFromJsonAsync<Treturn>

Angular HttpClinet

httpclient.get<Treturn>("")


httpclient.post<Treturn>("",inp)



با subscribe جوابش رو میگیری

Soap vs rest

هر دو بر اساس HTTP هستند.


Soap uses a wsdl


Soap uses only post Method


Soap http header Content-Type:text/xml


Soap body is a xml

Soap*

Xml wsdl o post

وقتی بدون http سرویس میخای

از سرویس پروایدر اسکوپ میسازی و دوباره از اسکوپ سرویس پروایدر میگیری


using(var scope=app.Services.CreateScope())


{


var serviceProvider = scope.ServiceProvider;


ServiceProvider.GetRequiredService<>...


}

کار با excel

Epplus

Filter o sort pagination

سورتیگ پیجینگ و فیلترینگ. اینکلودزم دست ما

Services.AddSession


UseSession

Session is stored on the server and a cookie with session ID is assigned to user ke seri bad dobare sesionesh ro dashte bashim


بدرد ذخیره سبد خرید، توکن گرفته شده تو سی شارپ وقتی میخاد api فرخوانی کنه

Session

کاربر بتونه یه چیزی سمت سرور براش نگه داریم. Id این session تو کوکی ذخیره میشه و ما دوباره شناسایی اش میکنیم و میتونیم داده های توی session رو بازیابی کنیم

Addidentity

پشت صحنه اینه یعنی هم identity رو اضافه میکنه و هم از کوکی استفاده میکنه


AddAuthentication().AddCookie()

AddidentityCore

فقط identity رو اضافه میکنه. کوکی دیگه نیست. بدرد اضافه کردن identity و jwt میخوره. همچنین دستی باید signinmanager رو رجیستر کنی اینجا

[fromquery], [frombody]

Default complex types:frombody hast age mikhai taghiresh bedi o az query begirish


[from query] bezar barash


Default simple types


Ya az route hast mesle [httpget("{id}")] ya age in shekli nabashe fromquery hast ke age bekhai mituni frombody bezari kenaresh o az body begirish

تو برگرداندن خساست به خرج نده

یعنی هم id برگردون تو جواب get ها مثلا یعنی entity ها حتما id داشته باشند


و تو جوابهای put و post هم زرت bool برنگردون بلکه ابجکت نهایی رو برگردون

*****کلا برای فرم چه تو انگولار و چه تو mvc یا هرجا****

1-ساختار ابجکت رو میدی


تو انگولار با تعریف formGroup انجام میشه


تو mvc یک ViewModel تعریف میکنی و @model


2-تعیین اینکه هر input به کدوم یکی از فیلدهای این ساختار مربوط میشه


تو انگولار با formGroup و formConyrolName انجام میشه


تو mvc با asp-for انجام میشه

فرم ***

اول ساختار، بعد دونه دونه نسبت بده

Angular vs mvc

Ngif


@if


Ngfor


@foreach

Mvc

اکشنها دو دسته اند


یا میخای صفحه نشون بدی که httpget


یا میخای یه کار انجام بدی که httppost

انواع توابع که action Result برمیگردونن

Ok


NotFound


Badrequest


No Content (204) (use in put and patch)


Unauthorised (401)


Conflict (409) تو


( تو خطای httpPost معمولا اگر نشه اینو برمیگردونن)


Created, createdAt (201) (use in post)