我有2节课。Photos
并且Albums
我需要在“照片/创建视图”中包括相册名称,并为相册名称创建下拉菜单。
我的“查看照片/创建”中的模型是: ImageViewModel
我怎么才能得到它?
public class Album
{
public int Id { get; set; }
[Required]
[MinLength(5), MaxLength(100)]
public string Name { get; set; }
private DateTime? dateCreated = null;
public DateTime CreatedOn
{
get => dateCreated.HasValue ? this.dateCreated.Value : DateTime.Now;
set => this.dateCreated = value;
}
public virtual List<PhotoAlbums> PhotoAlbums { get; set; }
}
public class PhotoAlbums
{
public int PhotoId { get; set; }
public Photo Photo { get; set; }
public int AlbumId { get; set; }
public Album Album { get; set; }
}
public class Photo
{
public int Id { get; set; }
public byte[] Picture { get; set; }
public string Name { get; set; }
public string AlbumNames { get; set; }
public virtual List<PhotoAlbums> PhotoAlbums { get; set; }
}
public class ImageViewModel
{
private readonly IUnitOfWork _unitOfWork;
public ImageViewModel()
{
_unitOfWork = new UnitOfWork<ApplicationDbContext>();
}
public int Id { get; set; }
public string FileName { get; set; }
public byte[] ImageData { get; set; }
public string File { get; set; }
public string Albumname { get; set; }
public string ImageSrc
{
get
{
string base64 = Convert.ToBase64String(ImageData);
string imgSrc = String.Format("data:image;base64,{0}", base64); //"data:image/png;base64,{0}"
return imgSrc;
}
}
}
这是我创建相册下拉列表的方法。祝好运。
尝试IEnumerable<SelectListItem>
为您的专辑DropdownList添加一个到您的ImageViewModel中。
public class ImageViewModel
{
private readonly IUnitOfWork _unitOfWork;
public ImageViewModel()
{
_unitOfWork = new UnitOfWork<ApplicationDbContext>();
}
public int Id { get; set; }
public string FileName { get; set; }
public byte[] ImageData { get; set; }
public string File { get; set; }
public string Albumname { get; set; }
public string ImageSrc
{
get
{
string base64 = Convert.ToBase64String(ImageData);
string imgSrc = String.Format("data:image;base64,{0}", base64); //"data:image/png;base64,{0}"
return imgSrc;
}
}
public int AlbumId{ get; set; }
public IEnumerable<SelectListItem> Albums { get; set; } //you dropdown
}
然后,在您的控制器中,将“专辑”的DropdownList水化。
List<Album> albums = null; //get your albums from _context
var model = new ImageViewModel();
model.Albums = new SelectList(albums, "Id", "Name");
//hydrate the rest of your model..
最后,在您的视图中,显示“ DropdownList of Albums”。
@Html.DropDownListFor(model => model.AlbumId, Model.Albums })
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句