C# 如何将数据从一个视图显示到另一个ASP.NET CORE 5.0 MVC
例如,如果我有包含以下字段的modelC# 如何将数据从一个视图显示到另一个ASP.NET CORE 5.0 MVC,c#,asp.net-core-mvc,C#,Asp.net Core Mvc,例如,如果我有包含以下字段的modelTicket.cs public class Ticket { public int Id { get; set; } [Display(Name = "Opis")] public string Description { get; set; } [Display(Name = "Datum i vrijeme")] publ
Ticket.cs
public class Ticket
{
public int Id { get; set; }
[Display(Name = "Opis")]
public string Description { get; set; }
[Display(Name = "Datum i vrijeme")]
public DateTime DateAndTime { get; set; } = DateTime.Now;
[Display(Name = "Vrsta tiketa")]
public int TicketTypeID { get; set; }
[ForeignKey("TicketTypeID")]
public virtual TicketType TicketType { get; set; }
public int? ClientId { get; set; }
[ForeignKey("ClientId")]
public Client Client { get; set; }
}
在Index.cshtml
中,我显示了这些数据。
另一个模型是Discussion.cs
public class Discussion
{
[Key]
public int Id { get; set; }
[Display(Name = "Odgovor")]
public string Answer { get; set; }
public string UserId { get; set; }
[ForeignKey("UserId")]
public virtual ApplicationUser ApplicationUser { get; set; }
public bool IsActive { get; set; } = true;
}
现在,我希望从Ticket.cs传输到Discussion Index.cshtml的数据显示如下
日期时间
,说明
我需要在控制器中执行什么操作才能获得与票证模型中完全相同的此类数据
如果您需要更多信息或源代码,请告诉我。为了让帖子更清晰,我没有写太多代码。
是传递到我的讨论模型的最佳方式
public Ticket ticket {get;set;}
或者创建ViewModel
更新
一旦我加入我的观点
@model VmSTicketing.Models.ViewModels.DiscussionTicketVM
当我使用foreach look
@foreach (var item in Model)
{
<tr>
<td>@item</td>
<td>08/14/2017</td>
<td>nn</td>
<td>nn</td>
<td>Website problem</td>
<td><span class="text-primary">Open</span></td>
</tr>
}
@foreach(模型中的变量项)
{
@项目
08/14/2017
nn
nn
网站问题
打开
}
我收到错误信息
foreach语句无法对“DiscussionTicketVM”类型的变量进行操作,因为“DiscussionTicketVM”不包含“GetEnumerator”的公共实例或扩展定义。在这种情况下,您应该使用视图模型。ViewModel
是在一个视图中显示的多个模型的组合
假设您有一个视图,其中必须同时显示客户信息和产品信息。为此,需要创建一个类,并为视图中显示的每个模型创建一个实例
public class DiscussionTicketViewModel
{
public Discussion discussion { get; set; }
public Ticket ticket { get; set; }
}
内部控制器
public ActionResult Index()
{
var model = new DiscussionTicketViewModel();
model.ticket = //.............
model.discussion = //.........
return View(model);
}
鉴于
<tr>
<td>@Model.ticket.Description</td>
<td>08/14/2017</td>
<td>nn</td>
<td>nn</td>
<td>Website problem</td>
<td><span class="text-primary">Open</span></td>
</tr>
@型号、票证、说明
08/14/2017
nn
nn
网站问题
打开
谢谢:)还有一个问题model.ticket=/…..
这是什么意思?是mean model.ticket=new ticket()还是…我收到了错误消息。我更新了我的问题Use@item.ticket.Id,并且…我无法访问票据。它在foreach look@foreach(模型中的var项)中抛出错误