ICollection을 제외하고 다른 모든 것이 내보기에 표시됩니다.ICollection이보기에 표시되지 않습니다. 4
테스 모델
public class Tes
{
[Key]
public int tID { get; set; }
public int FromUserID { get; set; }//user logged in
public int ToUserId { get; set; } //user to be sent
public int itemTId { get; set; } //single item
public virtual ICollection<Item> items { get; set; }
}
항목 모델
public class Item
{
public int UserId { get; set; }
public int ID { get; set; }
public string item_name { get; set; }
public string item_description { get; set; }
public string item_code { get; set; }
public DateTime dateAdded { get; set; }
public int catId { get; set; }
public int? isSelected { get; set; }
public int isQuick { get; set; }
public virtual ICollection<Tes> tes{ get; set; }
}
public class ItemDBContext : DbContext
{
public ItemDBContext()
: base("name=ItemDbContext")
{ }
public DbSet <Item> Items { get; set; }
public DbSet<Category> Cats { get; set; }
public DbSet<Tes> Tes{ get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Tes>().HasMany(e => e.items).WithMany(e => e.tes);
}
}
컨트롤러
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Tes take)
{
if (ModelState.IsValid)
{
db.Trades.Add(take);
//do I add ICollection seperately?
db.SaveChanges();
return RedirectToAction("Index");
}
return View(take);
}
보기
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.tID)
</td>
<td>
@Html.DisplayFor(modelItem => item.ToUserId)
</td>
<td>
@Html.DisplayFor(modelItem => item.itemTId)
</td>
<td>
@Html.DisplayFor(modelItem => item.items)//not displaying?
</td>
Ajax POST
var take= {
FromUserID: uid,
ToUserID: TradeeUid,
itemTradedForId: TradeeItemId,
items: ids,
__RequestVerificationToken: $("[name='__RequestVerificationToken']").val()
}
//jQuery.ajaxSettings.traditional = true
$.ajax({
type: "POST",
url: "/Trade/Create",
data: take
//dataType:JSON
//contentType: "application/json; charset=utf-8",
//data: JSON.stringify(take)
});
이것은 내가 얻은 것입니다.
내가 루프 중첩에서 items
얻을하려고하면
ICollection
만 표시 : 나는
가 함께되는 오류를 수정했습니다를 얻을. 그들은 저장되지 않을 수 있습니까?
'항목'은 기본 유형이 아닙니다. DisplayFor가 어떻게 해석해야한다고 상상합니까? 그것은 무엇을 보여야 하는가? 프레임 워크는 많은 도움이 될 수 있지만 마법은 없습니다. –
@Mvision 항목은 다른 모든 것을 표시합니다. 그러면이 ICollection에 액세스하는 방법은 무엇입니까? – rogerthat
@Mvision LOL. 프레임 워크에 Magic Nuget 패키지를 설치하는 것이 훨씬 쉽습니다. 어쩌면 MVC 5 – rogerthat