I'm working on a Blazor Server app and I have a class (User
) that has a Feedback
attribute. On button click I want to give a rating to my model class and calculate the feedback, but it doesn't seem to work. Also, the default value for user.Feedback is 5, so, for example if I add 4, it should be 4.5. Here's what I've done. Am I doing something wrong?
<form>
<div class="row">
<div class=" col-md-8">
<div class="form-group">
<label>Rate user:</label>
<input type="number" id="rating" @bind-value="@rating" placeholder="rating">
</div>
<div class="row my-3 px-3">
<button class="btn btn-white ml-2" @onclick="@GiveFeedback">Give feedback</button>
</div>
</div>
</div>
</form>
@code {
[Parameter]
public string UserId { get; set; }
User user = new User();
public int rating { get; set; }
protected override async Task OnInitializedAsync()
{
user = await Task.Run(() => userService.GetUserAsync(Convert.ToInt32(UserId)));
}
protected void GiveFeedback()
{
user.NumberOfFeedbacks++;
user.Feedback=(user.Feedback+rating)/user.NumberOfFeedbacks;
}