我有2个视图,分别是“索引”和“ _Track”。我需要将数据列表返回到“ _Track”-这是局部视图。有人可以帮助我,因为我收到此错误。我需要将数据列表返回到局部视图。
错误“对于每个不能对变量类型进行操作的语句,不包含getenumerator的公共实例定义”
请参见下面的参考代码。
父模型。
public class TrackingFormModel : BaseModel
{
public string TrackingNumber { get; set; }
public TrackingListModel TrackingList { get; set; }
}
子模型
public class TrackingListModel : BaseModel
{
public string Name { get; set; }
public string Departure { get; set; }
}
Index.cshtml
@using ChenvelMobile.Web.Models.Tracking
@model TrackingFormModel
@{
ViewBag.Title = "index";
Layout = null;
}
@using (Html.BeginForm("index", "tracking", FormMethod.Post))
{
@Html.HiddenFor(x => x.Id)
<div class="MainContainer">
<div class="row">
<div class="form-group">
<div class="col-md-12">
<h4>Track an Item</h4>
<p>Hint: Enter the correct tracking number (Example. AU0002004)</p>
<div class="input-group">
@Html.TextBoxFor(x => x.TrackingNumber, new { @class = "form-control", @id = "testSize", @placeholder = "Enter your box number..." })
<div class="input-group-btn">
<button class="btn btn-primary" type="submit" id="show">
<span class="glyphicon glyphicon-search btnSize" style="font-size: 20px"></span>
</button>
</div>
</div>
<br />
@Html.Partial("_Track", Model)
</div>
</div>
</div>
</div>
}
_ Track.cshtml(局部视图)
@using ChenvelMobile.Web.Models.Tracking
@model TrackingListModel
@foreach (var item in Model)
{
<div>@item.Id</div>
<div>@item.Name</div>
<div>@item.Departure</div>
}
控制器
public JsonResult Index(TrackingFormModel model)
{
string date = String.Format("{0:MM/dd/yyyy}", DateTime.Now);
DateTime startdate = DateTime.Parse(date);
DateTime prevoiusdate = startdate.AddDays(-90);
var tracking = _cSI_DataService.Find(x => x.reciept_id == model.TrackingNumber).Where(x => Convert.ToDateTime(x.date_pl) > prevoiusdate).ToList();
var list = (from t in tracking
join d in _departureItemsTableService.GetAll() on t.box_id.Trim() equals d.BoxNo.Trim() into departitem from departitems in departitem.DefaultIfEmpty()
join dt in _departureTableService.GetAll() on departitems?.DepartureId equals dt.DepartureId into dep from depart in dep.DefaultIfEmpty()
select new TrackingListModel
{
Id = t.Id,
Name = t.firstname_s + " " + t.lastname_s,
Departure = depart?.DepartureDate ?? String.Empty,
});
return Json(new { data = list.ToList() }, JsonRequestBehavior.AllowGet);
}
尝试将跟踪列表传递到局部视图。当前,您正在传递TrackingFormModel,而不是预期的TrackingListModel。
@Html.Partial("_Track", Model.TrackingList)