Как связать табличное представление списка с другим табличным представлением для деталей, используя ASP.NET MVC - PullRequest
0 голосов
/ 08 ноября 2019

Я просматриваю список на 1-й странице, и на 2-й странице он должен связываться с использованием того же идентификатора из базы данных на 1-й странице, но на 2-й странице - страница с подробностями.

1-я страница - просмотр списка

2-я страница - подробности

Вот то, что я уже пробовал

Пример: http://abctutorial.com/Post/53/mvc5-master-detail-edit-using-aspnet--jquery--razor

Модель называется: «Заказ» и ее отображениена странице ListView

        public Ordering()
        {
            this.Invoice_Line_Item = new HashSet<Invoice_Line_Items>();
        }
        [Key]
        public int order_id { get; set; }
        public Guid? CustomerId { get; set; }
        public int? CustId { get; set; }
        [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
        [StringLength(34)]
        public string invoice_number { get; set; }
        [StringLength(200)]
        public string EmailId { get; set; }
        [StringLength(50)]
        public string ClientFirstname { get; set; }
        [StringLength(50)]
        public string ClientLastname { get; set; }
        [StringLength(50)]
        public string MobileNumber { get; set; }
        [StringLength(50)]
        public string PaymentStatus { get; set; }
        [StringLength(50)]
        public string trackingorderno { get; set; }
        [StringLength(50)]
        public string Status { get; set; }
        [StringLength(200)]
        public string DeliveryNote { get; set; }
        [StringLength(250)]
        public string Agent { get; set; }
        public DateTime? date_order_placed { get; set; }
        public virtual ICollection<Invoice_Line_Items> Invoice_Line_Item { 
        get; set; }

на странице ListView для «заказа»

@model IEnumerable<LifestyleAdminOriginal.Models.Ordering>

          @foreach (var item in Model)
            {
             <tr>
              <td>
               @Html.DisplayFor(modelItem => item.invoice_number)
              </td>
               <td>
               @Html.DisplayFor(modelItem => item.ClientFirstname) @Html.DisplayFor(modelItem => item.ClientLastname)
               </td>
               <td>
               @Html.DisplayFor(modelItem => item.EmailId)
               </td>
               <td>
                @Html.DisplayFor(modelItem => item.MobileNumber)
                </td>
                <td>
                <span class="label label-danger">@Html.DisplayFor(modelItem => item.Status)</span>
                </td>
                <td>
               @Html.ActionLink("View", "NewOrdersDetails", new { id = item.CustId })
                 </td>
                 </tr>
                }

страница сведений для «Invoice_Line_Items»

<div class="row">
                                    @if (Model.Count() != 0)
                                    {
                                        foreach (var item in Model)
                                        {
                                            <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                                                <div class="invoice-sp">
                                                    <table class="table table-hover">
                                                        <thead>
                                                            <tr>

                                                                <th>Service</th>
                                                                <th>Item</th>
                                                                <th>Gender</th>
                                                                <th>Unit Price</th>
                                                                <th>Quantity</th>
                                                                <th>Total</th>
                                                            </tr>
                                                        </thead>
                                                        <tbody>
                                                            <tr>
                                                                @foreach (var inv in item.Invoice_Line_Item)
                                                            {
                                                                        <th>@inv.service</th>
                                                                        <td>@inv.item</td>
                                                                    <td>@inv.gender</td>
                                                                    <td>@inv.price</td>
                                                                    <td>@inv.quantity</td>
                                                                    <td>@inv.price</td>
                                                            }
                                                            </tr>

                                                        </tbody>
                                                    </table>
                                                </div>
                                            </div>
                                             }
                                        }
                                        </div>

контроллер списка для «заказа»

public ActionResult NewOrders()
        {
            var count = db.Orderings.Where(s => s.trackingorderno == "New Order").Count();
            ViewBag.totalall = count;

            return View(db.Orderings.ToList().Where(x => x.trackingorderno == "New Order").Select(x => x));
        }

Контроллер подробных представлений для "Invoice_Line_Items" и "Ordering"

public ActionResult NewOrdersDetails(int? CustId)
        {
            if (CustId == null)
            {
                return new System.Web.Mvc.HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            List<Ordering> OrderAndCustomerList = db.Orderings.ToList();

            if (OrderAndCustomerList == null)
            {
                return HttpNotFound();
            }
            return View(OrderAndCustomerList);
        }

По сути, всякий раз, когда пользователь нажимает "View" на странице просмотра списка, он должен перевести их на страницу сведений, где он показываетпозиции счета-фактуры и отображают данные клиента, а также на одной странице "DetailsView"

1 Ответ

0 голосов
/ 09 ноября 2019

В первой таблице, где вы показываете основные данные и данные второй таблицы. В данных первой таблицы вы должны взять подробный идентификатор содержимого таблицы в содержимом основной таблицы и отправить его на вторую страницу с подробным идентификатором из основной таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...