私はASP.NET Core 1.0とEF Core 1.0を使用していて、SQLデータベースに次のコードファーストクラスを持っています。私もこのコントローラをしているSQLデータベーステーブルのデータを使用してRazorにSelectタグヘルパーを設定する方法
namespace GigHub.ViewModels
{
public class GigFormViewModel
{
public string Venue { get; set; }
public string Date { get; set; }
public string Time { get; set; }
public List<Genre> Genres { get; set; }
}
}
::私は私のカミソリビューは、に設定している
using GigHub.Data;
using GigHub.ViewModels;
using Microsoft.AspNetCore.Mvc;
namespace GigHub.Controllers
{
public class GigsController : Controller
{
private readonly ApplicationDbContext _context;
public GigsController(ApplicationDbContext context)
{
_context = context;
}
public IActionResult Create()
{
var vm = new GigFormViewModel();
// Need to get my Genre list from the DbSet<Genre> in my database context injected above
// into the GigFormViewModel for the Select taghelper to consume
return View(vm);
}
}
}
namespace GigHub.Models
{
public class Genre
{
public byte Id { get; set; }
[Required]
[StringLength(255)]
public string Name { get; set; }
}
}
また、私はカミソリビューのフォームで使用する次のViewModelクラスを持っていますViewModelをうまく使用してください。ただし、Genreプロパティにアクセスするには、以下のSelect taghelperコードをどのように設定するべきかはっきりしていません。
<div class="form-group">
<label asp-for="????" class="col-md-2 control-label"></label>
<div class="col-md-10">
<select asp-for="????" asp-items="????" class="form-control"></select>
<span asp-validation-for="????" class="text-danger" />
</div>
</div>
私は基本的に選択taghelper ASP-項目は=が消費できるという形でのViewModelプロパティに私のデータベースからジャンルの私のリストを取得する方法をgrokkingトラブルを抱えています。多くのトライアル&私は一般的な変換の問題が発生した結果、一般的なのリスト<のタイプにMVCの種類から行くエラーcontortions。私はViewModelのGenreクラスを調整する必要があると思っていますが、これまでの研究では以前のバージョンのASP.NETとEntity Frameworkをカバーする記事しかなく、ASP.NET Core 1.0 RC2とEF Core 1.0にマッピングするのに苦労しました。
'<選択ASP-用=「フィールド名」ASP-項目=「ViewBag.OptionsCollection」>' –
に沿っtaghelperためViewBagを回避し、リスト形式へのViewModelからリストを取得する方法はありませんasp-items = "Model.MyGenreListHere"の行? これは私が間違っている場所ですか? –
ViewModelでフィールドを使用するだけです。 ASP.NETのドキュメントから例を投稿します。 –