Если ваше намерение состоит в том, чтобы удалить дублирование «магических чисел» в вашем коде, а не в сгенерированном HTML, вы можете заменить числа значениями из вашей модели:
public class IndexModel
{
public Team Team1 { get; set; }
public Team Team2 { get; set; }
public int MinimumGoals => 0;
public int MaximumGoals => 99;
}
Иобновите представление, чтобы использовать его:
<div id="Team1PlayerScores">
@for (int i = 0; i < Model.Team1.Players.Count; i++)
{
@Html.DisplayFor(m => Model.Team1.Players[i].Name)
@Html.EditorFor(m => Model.Team1.Players[i].GoalsForCurrentGame,
new { htmlAttributes = new { min = Model.MinimumGoals, max = Model.MaximumGoals,
onchange = "updateTeamScore('Team1PlayerScores', 'Team1_GoalsForCurrentGame')" } })
}
</div>
<div id="Team2PlayerScores">
@for (int i = 0; i < Model.Team2.Players.Count; i++)
{
@Html.DisplayFor(m => Model.Team2.Players[i].Name)
@Html.EditorFor(m => Model.Team2.Players[i].GoalsForCurrentGame,
new { htmlAttributes = new { min = Model.MinimumGoals, max = Model.MaximumGoals,
onchange = "updateTeamScore('Team2PlayerScores', 'Team2_GoalsForCurrentGame')" } })
}
</div>
Я отбросил значения в свойствах только для чтения, но как вы их внедрите в модель, решать только вам.