I am here with a weird requirement or may be it's kinda twisted for me :D I want to bind two objects to a single InputText field. For example i have a input text like below:
<div class="form-group col">
<label>Register Number</label>
<InputText @bind-Value="RegistrationNumber.Number" class="form-control"/>
<ValidationMessage For="@(() => RegistrationNumber.Number)" />
</div>
<div class="form-group col">
<label>VAT Number</label>
<InputText @bind-Value="RegistrationNumber.Number" class="form-control"/>
<ValidationMessage For="@(() => RegistrationNumber.Number)" />
</div>
Model:
public class CompanyMetaData
{
public List<RegistrationNumber> RegistrationNumbers { get; set; }
}
public class RegistrationNumber
{
public string NumberDescription { get; set; }
public string Number { get; set; }
}
As you can see here InputText has a bind-value as RegistrationNumber.Number
Now whatever I will enter her in the input Text it will be stored in DB. But with this I have to store the hardcoded string value i.e. RegistrationNumber.NumberDescription = "Company Register Number"
for first input text,RegistrationNumber.NumberDescription = "VATNumber"
for 2nd input text . Should I handle this in C# side (@code{})?
Hope my question is clear. Looking forward to a nice blazor way to do it. Thanks in advance.
EDITED QUESTION
<div class="form-row">
<div class="form-group col">
<label>Register ID</label>
<InputText @bind-Value="RegistrationNumber.registrationNumber" class="form-control" />
<ValidationMessage For="@(() => RegistrationNumber.registrationNumber)" />
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label>VAT ID Number</label>
<InputText @bind-Value="RegistrationNumber.registrationNumber" class="form-control" />
<ValidationMessage For="@(() => RegistrationNumber.registrationNumber)" />
</div>
</div>
@code
{
RegistrationNumber RegistrationNumber { get; set; } = new RegistrationNumber();
public List<RegistrationNumber> ListRegisterNumber { get; set; } = new List<RegistrationNumber>();
private void HandleValidSubmit()
{
RegistrationNumber.registrationNumberDescription = "Company ID Number";
ListRegisterNumber.Add(RegistrationNumber);
RegistrationNumber.registrationNumberDescription = "VATID Number";
ListRegisterNumber.Add(RegistrationNumber);
}
}
I tried something again but this still doesnt help me. I am expecting some value storing like below. Please note i am not following List syntax: ListRegisterNumber = [registrationNumberDescription :"Company ID Number", registerNumber=1234 & registrationNumberDescription :"VAT ID Number", registerNumber = 4567]