Я уже прочитал несколько вопросов по этой теме, но, честно говоря, большинство из них были слишком сложными для меня. Я очень новичок в ASP.NET mvc.Как показать данные master-detail на странице ASP.NET mvc?
У меня есть пример приложения ASP.NET mvc 4, которое я создал, следуя вместе с (и немного отклонившись) от учебника базы данных Movie. У этого есть встроенные биты счета, Entity Framework (которая оказалась болью в любое время, когда я что-то меняю) плюс 2 модели, которые я построил на основе моделей из учебника:
1) Ошибка
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity;
namespace MasterDetailPractice.Models
{
public class Bug
{
public int BugID { get; set; }
public string BugTitle { get; set; }
public DateTime BugDate { get; set; }
public string BugStatus { get; set; }
[Column(TypeName = "ntext")]
[MaxLength]
public string BugDescription { get; set; }
}
public class BugDBContext : DbContext
{
public DbSet<Bug> Bugs { get; set; }
public DbSet<Comment> Comments { get; set; }
}
}
2) Комментарий
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity;
namespace MasterDetailPractice.Models
{
public class Comment
{
public int CommentID { get; set; }
public int BugID { get; set; }
public int UserID { get; set; }
public DateTime CommentDate { get; set; }
[Column(TypeName = "ntext")]
[MaxLength]
public string CommentText { get; set; }
}
}
Когда я запускаю мое приложение, я в состоянии пойти в/проект и получить стандартное представление Index со ссылкой Add, где я могу добавить Bug. После добавления я вижу обычные ссылки «Редактировать/Детали/Удалить».
Когда я запускаю свое приложение, я также могу пойти в/Комментарий и получить стандартное представление индекса с помощью ссылки «Добавить», где я могу добавить комментарий. После добавления я вижу обычные ссылки «Редактировать/Детали/Удалить».
До этого момента я в порядке. CRUD формирует работу, они просто не работают вместе.
ПРОБЛЕМА:
В настоящее время для того, чтобы сделать комментарий применить к Бугу, у меня есть на самом деле ввести BUGID в/Комментарий/Создать форму. И тогда комментарии все доступны только на/Comment/route.
Вместо этого мне нужно следующее произойдет:
- «Добавить комментарий» форма должна автоматически знать, что BUGID в сохранить без пользователь, имеющий для ввода его.
- Представление данных с основными данными: представление/комментарий/указатель должно отображаться в нижней части страницы/Bug/Edit and/or Bug/Details и показывать только комментарии, связанные с текущей ошибкой.
- Ссылка «Добавить комментарий» должна появляться только на странице/Bug/Edit или /Bug/Details, поэтому комментарии никогда не добавляются без ссылки на ошибку.
Это удивительно, что я не смог понять это сам, проведя 3 дня, просматривая каждый результат Google и сообщение SO, которое я могу найти по этой теме. Тем не менее, я здесь, надеясь узнать простейшую возможную реализацию этого.
Должен ли я размещать больше кода (например, Контроллеры или Представления), чтобы этот вопрос отвечал должным образом?
Глядя вперед, чтобы получить медленный учебный поезд, чтобы начать вытягивать из станции ...