Data Binding si Evenimente in Blazor
In acest articol exploram doua concepte fundamentale in dezvoltarea cu Blazor: data binding-ul si evenimentele. Acestea permit actualizarea dinamica a interfetei in functie de actiunile utilizatorului – fara JavaScript!
🔄 Ce este data binding-ul in Blazor?
Data binding-ul leaga valorile dintre elementele UI si logica aplicatiei. Blazor ofera suport bidirectional (@bind) si un mod elegant de a gestiona interactiuni prin evenimente ca @onclick sau @onchange.
✅ @bind
@bind permite legatura directă între o variabilă și un element HTML.
<input @bind="nume" placeholder="Introdu numele" />
<p>Numele introdus: @nume</p>
@code {
private string nume = "";
}
🖱️ @onclick
Permite apelarea unei metode cand un utilizator face clic pe un element.
<button @onclick="AfiseazaSalut">Salută</button>
@code {
void AfiseazaSalut()
{
Console.WriteLine("Salut!");
}
}
✏️ @onchange
Se declanseaza cand se modifica valoarea unui input (de exemplu, un dropdown).
<select @onchange="OnSelectat">
<option>Red</option>
<option>Green</option>
<option>Blue</option>
</select>
@code {
private void OnSelectat(ChangeEventArgs e)
{
var culoare = e.Value?.ToString();
Console.WriteLine($"Culoare selectată: {culoare}");
}
}
🧪 Exemplu practic: mini-formular + lista cu adaugare
<h3>Adaugă un task</h3>
<input @bind="taskNou" placeholder="Scrie un task..." />
<button @onclick="AdaugaTask">Adaugă</button>
<ul>
@foreach (var task in taskuri)
{
<li>@task</li>
}
</ul>
@code {
private string taskNou = "";
private List<string> taskuri = new();
void AdaugaTask()
{
if (!string.IsNullOrWhiteSpace(taskNou))
{
taskuri.Add(taskNou);
taskNou = "";
}
}
}
🔁 Fiecare data cand utilizatorul adauga un task, lista este actualizata in timp real.
🏁 Concluzie
Blazor iti permite sa construiesti UI-uri interactive si moderne doar cu C#. Cu @bind si @onclick, poti crea aplicatii dinamice fara JavaScript. In urmatorul articol, vom explora Componentizarea si transmiterea de date intre componente – esential pentru aplicatii complexe.