How I can assign dynamic asp-for in razor view

Viewed 26
        @for (var i = 1; i < 5; i++)
        {
            var Tier = $"Tier{i}Score";
            <div class="col-12 mt-2">
                <div class="row">
                    <div class="col-2">
                        <label>@i</label>
                    </div>
                    <div class="col-md col-6">
                        <div class="d-flex align-items-baseline">
                            <label>@localizer[$"Label_Tier{i}Description"]</label>
                            <i class="fas fa-info-circle pl-2 cursor-pointer tooltip-ico" data-toggle="tooltip" data-placement="right" title="@localizer[$"Tooltip_Tier{i}Score"]"></i>
                        </div>
                    </div>
                    <div class="col-md col-4">

                        <input asp-for="@Tier" type="text" class="line-input form-control" maxlength="4" autocomplete="off" />
                    </div>
                </div>
            </div>
        }

When my div is generated, my id just display as id=Tier, I would like to get result id=Tier1Score, id=Tier2Score, id=Tier3Score and id=Tier4Score. How I can achieve this. Thank you.

1 Answers

You can't also see this answer: Dynamically assigning asp-for variables

But since it's just a TagHelper (it doesn't do anything besides writing correct HTML) you could also write it like this:

 <input name="@Tier" id="@Tier" type="text" class="line-input form-control" maxlength="4" autocomplete="off" />

The name is important for the form-post, the id is probably used for javascript thingies you might want to do.

Related