sintaxa Flashcards

(39 cards)

1
Q

🌐 Secțiunea 1: ASP.NET Core & Razor Pages (Sintaxa @)

Q: Care este prima linie obligatorie în orice fișier .cshtml de tip pagină?

A

A: @page. Fără ea, fișierul nu este rutabil (nu poate fi accesat prin URL).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

🌐 Secțiunea 1: ASP.NET Core & Razor Pages (Sintaxa @)

Q: Cum declari modelul de date (clasa C#) asociat unei pagini?

A

A: @model NumeProiect.Pages.NumeModel. Permite accesarea datelor prin proprietatea @Model.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

🌐 Secțiunea 1: ASP.NET Core & Razor Pages (Sintaxa @)

Q: Care este sintaxa pentru a afișa valoarea unei variabile C# în HTML?

A

A: @NumeVariabila sau @Model.Proprietate.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Q: Cum scrii un comentariu în Razor?

A

A: @* Comentariul tău aici *@.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

🌐 Secțiunea 1: ASP.NET Core & Razor Pages (Sintaxa @)

Q: Care este sintaxa pentru a injecta un serviciu (ex: contextul bazei de date) direct în pagină?

A

A: @inject NumeContext _context.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

🏷️ Secțiunea 2: Tag Helpers (Sintaxa HTML-Server)

Q: Ce Tag Helper folosești pentru a crea un link către pagina “Edit” cu un ID specific?

A

A: <a>Edit</a>.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

🏷️ Secțiunea 2: Tag Helpers (Sintaxa HTML-Server)

Q: Cum legi un element <input></input> de o proprietate din model pentru validare?

A

A: <input></input>. (Generează automat id și name).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

🏷️ Secțiunea 2: Tag Helpers (Sintaxa HTML-Server)

Q: Sintaxa pentru afișarea rezumatului erorilor de validare la începutul formularului?

A

A: <div asp-validation-summary="All" class="text-danger"></div>.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

🏷️ Secțiunea 2: Tag Helpers (Sintaxa HTML-Server)

Q: Cum incluzi scripturile de validare client-side într-o pagină?

A

A: ```html @section Scripts { @{await Html.RenderPartialAsync(“_ValidationScriptsPartial”);} }

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

📊 Secțiunea 3: LINQ (Query vs Method Syntax)

Q: Cum arată sintaxa de interogare (Query Syntax) pentru a filtra cărțile după preț?

A

A: from b in _context.Book where b.Price > 50 select b;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

📊 Secțiunea 3: LINQ (Query vs Method Syntax)

Q: Cum arată sintaxa de metodă (Method Syntax) pentru același lucru?

A

A: _context.Book.Where(b => b.Price > 50).ToList();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

📊 Secțiunea 3: LINQ (Query vs Method Syntax)

Q: Sintaxa pentru a aduce și datele dintr-o tabelă relaționată (Eager Loading)?

A

A: _context.Book.Include(b => b.Author).ToList();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

📊 Secțiunea 3: LINQ (Query vs Method Syntax)

Q: Cum faci o proiecție (selectezi doar anumite coloane într-un obiect nou)?

A

A: .Select(b => new { b.Title, b.AuthorName }).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

🗄️ Secțiunea 4: Entity Framework Core (CLI & Atribute)

Q: Comanda în consolă (Package Manager Console) pentru a crea o migrare?

A

A: Add-Migration NumeMigrare.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

🗄️ Secțiunea 4: Entity Framework Core (CLI & Atribute)

Q: Comanda pentru a aplica migrările pe baza de date?

A

A: Update-Database.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

🗄️ Secțiunea 4: Entity Framework Core (CLI & Atribute)

Q: Sintaxa pentru a marca o cheie primară care să nu fie auto-incrementată?

A

A:
```csharp
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int ID { get; set; }

17
Q

🗄️ Secțiunea 4: Entity Framework Core (CLI & Atribute)

Q: Sintaxa pentru a defini o relație Many-to-Many în model?

A

A: Ambele clase trebuie să conțină o listă către cealaltă: public ICollection<Entitate2> Entitati2 { get; set; }.</Entitate2>

18
Q

📱 Secțiunea 5: .NET MAUI & XAML

Q: Cum definești un Grid cu 2 coloane (prima auto, a doua ocupă tot restul)?

A

A: <Grid></Grid>.

19
Q

📱 Secțiunea 5: .NET MAUI & XAML

Q: Sintaxa pentru Data Binding simplu pe un Label?

A

A: <label></label>.

20
Q

📱 Secțiunea 5: .NET MAUI & XAML

Q: Cum navighezi către o pagină în mod asincron (nemodal)?

A

A: await Navigation.PushAsync(new DetailsPage());.

21
Q

📱 Secțiunea 5: .NET MAUI & XAML

Q: Sintaxa pentru a defini o cheie primară auto-increment în SQLite (MAUI)? A:

A

[PrimaryKey, AutoIncrement]
public int ID { get; set; }

22
Q

📱 Secțiunea 5: .NET MAUI & XAML

Q: Cum verifici conexiunea la internet în cod C# (MAUI)?

A

A: if (Connectivity.Current.NetworkAccess == NetworkAccess.Internet) { … }.

23
Q

⚡ Secțiunea 6: Programare Asincronă

Q: Care este semnătura corectă a unei metode asincrone de tip handler în Razor?

A

public async Task<IActionResult> OnPostAsync() { ... }.</IActionResult>

24
Q

⚡ Secțiunea 6: Programare Asincronă

Q: Cum salvezi modificările în baza de date asincron?

A

A: await _context.SaveChangesAsync();.

25
⚡ Secțiunea 6: Programare Asincronă Q: Sintaxa pentru a deserializa un obiect dintr-un string JSON (HttpClient)?
A: var data = JsonSerializer.Deserialize(jsonString);.
26
🏛️ 1. Sintaxa "Legacy" & ADO.NET (Apare în grilele de teorie) DataSet & DataTable:
DataSet ds = new DataSet(); DataTable dt = new DataTable("Carti"); dt.Columns.Add("ID", typeof(int)); dt.Rows.Add(1);
27
🏛️ 1. Sintaxa "Legacy" & ADO.NET (Apare în grilele de teorie) DataReader (Citire rapidă, conexiune deschisă):
using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine(reader["Nume"]); } }
28
🏗️ 2. Sintaxa Avansată EF Core (Fluent API & Attributes) Fluent API (în DbContext):
protected override void OnModelCreating(ModelBuilder modelBuilder) { // Cheie compusă (din 2 coloane) modelBuilder.Entity().HasKey(pt => new { pt.PostId, pt.TagId }); // Seeding (date inițiale) modelBuilder.Entity().HasData(new Role { Id = 1, Name = "Admin" }); }
29
🏗️ 2. Sintaxa Avansată EF Core (Fluent API & Attributes) Atribute specifice:
[NotMapped] // Proprietatea nu apare în baza de date public string FullName => $"{FirstName} {LastName}"; [ForeignKey("ShopID")] // Specifici clar care e cheia străină public Shop Shop { get; set; }
30
🛡️ 3. Sintaxa de Securitate și Configurare (Program.cs) Configurare Politici (Policies):
builder.Services.AddAuthorization(options => { options.AddPolicy("DoarAdmini", policy => policy.RequireRole("Admin")); });
31
🛡️ 3. Sintaxa de Securitate și Configurare (Program.cs) Autorizare pe foldere (Conventions):
builder.Services.AddRazorPages(options => { options.Conventions.AuthorizeFolder("/Private"); options.Conventions.AllowAnonymousToPage("/Private/PublicInfo"); });
32
🌐 4. Sintaxa REST API (Curs 11) Definire Controller:
[Route("api/[controller]")] [ApiController] public class BooksController : ControllerBase { [HttpGet("{id}")] public async Task> GetBook(int id) { ... } } Returnări specifice (Status Codes): return Ok(data); // 200 return CreatedAtAction("Get", new { id = 1 }, data); // 201 return BadRequest(); // 400 return NotFound(); // 404
33
📱 5. Sintaxa MAUI Avansată (XAML & Behaviors) Resurse Statice vs Dinamice:
34
📱 5. Sintaxa MAUI Avansată (XAML & Behaviors) Atașare Behavior (XAML):
35
📱 5. Sintaxa MAUI Avansată (XAML & Behaviors) Navigare prin rute (Shell URI):
await Shell.Current.GoToAsync("//DetailsPage?id=5");
36
Știi să scrii un foreach în Razor?
@foreach(var item in Model.Books) { ... }
37
Știi să faci un Include în LINQ?
_context.Books.Include(b => b.Author)
38
Știi diferența de sintaxă între PushAsync și PushModalAsync?
Prima e nemodală, a doua e modală
39
Știi cum se declară o proprietate "Bindable" în PageModel?
[BindProperty] public Book Book { get; set; }