Новое в Razor, c # и ASP и со ссылкой на следующее.https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/?view=aspnetcore-2.1
В настоящее время я могу упорядочить строки из моей модели в представлении выбора, используя следующий код в моем коде страниц.
public SelectList Ratings { get; set; }
public async Task<IActionResult> OnGetAsync()
{
IQueryable<string> ratingQuery = from m in _context.Ratings
orderby m.MovieRating
select m.MovieRating;
Ratings = new SelectList(await ratingQuery.Distinct().ToListAsync());
return Page();
}
И в моей ссылке на страницу HTML эточтобы создать хороший список оценок на выбор.
<select asp-for="Movie.Rating" asp-items="Model.Ratings">
</select>
Моя проблема заключается в том, что сгенерированные параметры не имеют значения, отличного от значения в поле Movie.Rating (т. е. GOOD, BAD, UGLY), всегоработает нормально, но когда я вставляю в БД, я хотел бы вставить «ID», а не «MovieRating»
Я хотел бы создать следующий html при создании страницы.Где поле идентификатора в таблице - это значение, а «MovieRating» - это текст.
<select asp-for="Movie.Rating" asp-items="Model.Ratings">
<option value="1">Good</option>
<option value="2">Bad</option>
<option value="3">Ugly</option>
</select>
Чтобы сделать это, я знаю, что мне нужно выбрать больше, чем поле «MovieRating» в пределах выбора.заявление.Так что я могу изменить это, чтобы также выбрать идентификатор.Однако он просто выдаст объединенную строку в поле параметра и не создаст поле значения.
Это правильный метод для достижения того, что я хочу сделать.Я могу найти несколько примеров того, как этого добиться другим способом, но пока не хочу углубляться в MVC.