MVC Flashcards
(39 cards)
Како се иницијализираат properties во една класа?
public string/int/float ime_promenliva {get; set;}
Во C# ако сакаме да поставеме float вредност на некоја променлива, како тоа го правеме?
x = 4.8f
//клучната буква е f
Ако сакаме на страницата да се појави листа од филмови и листа од клиенти, кои се чекорите за да го направеме тоа?
Прво, во акцијата поставуваме еден модел од класа што чува објект за филм и објект за клиенти.
Тој модел го поставуваме во View.
Соодветно, во View правеме приказ на страницата со истиот модел од акцијата.
Како можеме преку HTML таг да преминеме на друг view со друга акција?
<a></a>
Со која C# готова функција може да најдеме некој објект доколку објектите се подредени редоследно?
example:
clients.ElementAt(id) //доколку моделот е од класата Client
Доколку се појави exception дека клиентот не е пронајден, според претходниот пример, како ќе се справеме со тоа?
if (clients.ElementAt(id) == null) { return Content("Not found :("); //ili slicno }
Доколку сакаме да направеме textbox и од полето да ги земеме податоците и да ги прикажиме, што треба да направеме во делот кај контролерот?
1) Креираме акција со соодветно View за приказ на textbox полињата. Ова го правеме во форма, така што формата ќе прима параметри - акција која ќе ги прикажи податоците, контролер.
Моделот со информациите од text полињата, се испраќа со помош на submit button
2) Креираме акција со HttpPost метод на размена на податоци. Преку неа, го земаме моделот што е веќе исполнет од акцијата на точка 1).
Во оваа акција, правеме Redirect на друга акција која што е одговорна за приказ на податоците.
Што е намената на формата во asp.net?
Преку неа, насочуваме со помош на button, од една акција на друга акција.
ex: BeginForm(“InsertNewMovie”, “MovieController”)
Како се иницијализира променлива од типот List а како од типот Movie? //класата е Movie
1) public static List movies = new List() movies { new Movie() {Name, Id, Age . . .}};
2) public static Movie = new Movie { Name, Id, Age . . .};
Како се прави валидација, ако сакаме да го променеме името на лабелата?
[Display(Name = “drugo ime”)]
Како се прави валидација за непополнето поле?
[Required]
Како се прави валидација за ранг?
[Range(0,99, ErrorMessage=”invalid values”)]
Освен постапката до моделот за валидација, каде на друго место треба да се напишат команди за да успее валидацијата и што значат тие команди?
-Во акцијата каде што акцијата го презема View-то на моделот од текст полињата : if(!ModelState.IsValid) { return View("NewMovie", model) } //NewMovie е акцијата со текст полињата //т.е. повторно се враќаме на истиот приказ
Кои се трите параметри на @Html.ActionLink()
Името што ќе се прикаже, име на акција, име на контролер
Што означува - View(“SomeAction”, model)?
Се враќа View што е веќе креирано и како аргумент се предава моделот.
Што треба да се користи како библиотека за валидациите?
using System.ComponentModel.DataAnnotations;
На кој начин може да се превземе URL на слика од база и истата да се вметне вo View?
@Url.Content(Mode.URL)
Доколку имаме креирано скрипта во Scripts директориумот и App под-директориумот и скриптата се чува под името - MusicScripts, како ќе ја вметнеме во View оваа скрипта?
1 ) @section Scripts{
}
2) @Scripts.Render(“~/Scripts/App/MusicScripts.js”)
3) @section Scripts{
$(function () {
$("#album-list img").mouseover(function () { $(this).animate({ height: '+=25', width: '+=25' }).animate({ height: '-=25', width: '-=25'}) })
})
}
Додавање на Ajax скрипта во View?
@section Scripts{
}
//со претходно инсталиран пакет од NuGet //Install-Package Microsoft.jQuery.Unobtrusive.Ajax
Дади пример за креирање на Ajax helper во View.
@Ajax.ActionLink(“Албум на попуст за денес”,
“DailyDeal”,
null,
new AjaxOptions { UpdateTargetId = “dailydeal”,
InsertionMode = InsertionMode.Replace,
HttpMethod = “GET”},
new { @class = “btn btn-default”}
)
arg1 - име на линк
arg2 - која акција од контролерот ќе се повика со соодветно partial view [дел од стр. ќе се рефрешира]
arg4 - arg4.1. -> што ќе се update кога ќе заврши ајах
arg4.2. -> при клик на линкот се заменува
моменталната страница со друга
//другите аргументи се објаснати сами по себе
Како може да се земе random вредност од табелата во базата на некоја класа?
var album = db.Albums.Include(a => a.Artist).Include(a => a.Genre).OrderBy(a => System.Guid.NewGuid()).First();
//model - Album кој содржи објекти од Artist и Genre
Откако преку NuGet ќе го инсталираме соодветниот пакет за податочни табели [Install-Package jquery.datatables -version:1.10.11], како го поставуваме при тоа?
1) Bundle Config - во делот за скрипти додаваме:
”~/Scripts/DataTables/jquery.dataTables.js”,
“~/Scripts/DataTables/dataTables.bootstrap.js”
2) За css, во Content делот додаваме:
”~/Content/DataTables/css/dataTables.bootstrap.css”
3) Kреираме податочна табела во соодветното View:
@section Scripts{
$(document).ready( function () { $("#album").DataTable(); } );
} //album e id-to на табелата која ги содржи //информациите за моделот Album
Како се доделува улога на корисник?
1 чекор: се пополнува табелата во базата на AspNetRoles со кој тип на улога сакаме да доделиме;
2 чекор: во AccountController ја бараме акцијата за регистрирање.
Во првиот (ако не и единствениот) if услов, ја поставуваме следната команда:
await UserManager.AddToRoleAsync(user.Id, “imeNaUloga”);
Како да доделеме различно View на корисник што нема одредена улога?
Во акцијата што не сакаме да ја гледа некој корисник, го правеме следното:
if(!User.IsInRole("Administrator")){ return View("Nekoe drugo view", nekojSiModel); }