برای اینکه بتوان دیتا را به UI و مجدداً از UI به کد منتقل کرد از two-way binding استفاده میکنیم. مثال زیر گویای این مورد است:
<div> <p>Name: @Room.RoomName</p> <p>Price: @Room.Price</p> <p>Active: @Room.IsActive</p> </div> <hr /> Room name is: <input type="text" @bind-value="Room.RoomName" @bind-value:event="oninput" /> @code { Models.Room_ViewModel Room = new Models.Room_ViewModel() { Id = 1, IsActive = true, Price = 10000, RoomName = "Room 1" }; }
در این حالت با تغییر دیتا در تکست باکس، دیتای شیء Room نیز تغییر میکند. در این حالت @bind-value
نقش کلیدی در ایجاد two-way binding را ایفا میکند.
در انتها کدی به این شکل وجود دارد (@bind-value:event="oninput"
) که باعث میشود بلافاصله با تغییر نام در تکستباکس محتوای متغیر ما نیز تغییر کند.
برای یافتن انواع مختلف event-bindingها از این لینک استفاده کنید.