我想为所有网页添加订单商品的自动编号。 下面是一个有效的示例,但只有一页上的数字。进入下一页后,它从头开始。
public ActionResult ListaZlecen(int? IdStatusZlecenia, int strona = 1)
{
var ListaZlecenWszystkich = db.Zlecenia.ToList();
var userId = User.Identity.GetUserId();
//var ListaZlecen = db.Zlecenia.Where(p => p.UserId == userId).ToList();
//var ListaZlecen = db.Zlecenia.OrderBy(w => w.IdZlecenia).Where(p => p.UserId == userId).Skip((strona - 1) * WielkoscStrony).Take(WielkoscStrony).ToList();
var ListaZlecen = db.Zlecenia.OrderBy(w => w.IdZlecenia).Skip((strona - 1) * WielkoscStrony).Take(WielkoscStrony).ToList();
// var zleceniezalacznik = db.ZleceniaZalaczniki.ToList();
var viewodel = new ListaZlecenUzytkownikaViewModel()
{
StronaInfo = new StronaInfo
{
AktualnaStrona = strona,
PozycjeNaStrone = WielkoscStrony,
WszystkiePozycje = ListaZlecenWszystkich.Count()
},
ListaZlecenUzytkownika = ListaZlecen
};
return View(viewodel);
}
和查看
@model AplikacjaHelpDesk.ViewModels.ListaZlecenUzytkownikaViewModel
@using AplikacjaHelpDesk.Infrastructure;
@{
ViewBag.Title = "Lista Zlecen Użytkownika";
Layout = "~/Views/Shared/_LayoutAdministracja.cshtml";
}
<div class="container-fluid">
<img src="~/Content/Images/Layout/Home.png" />
<a href="link">
@Html.MvcSiteMap().SiteMapPath()
</a>
<h2><span class="glyphicon glyphicon-user"></span> <strong>Lista Zleceń </strong></h2>
<br /><br />
<div id="divLoading" class="panel panel-primary text-center text-primary" style="display:none;">
<h3><strong>Proszę czekać ładowane są posty!</strong></h3>
</div>
<div id="divLoadingForm" class="panel panel-primary text-center text-primary" style="display:none;">
<h3><strong>Proszę czekać ładuję formularz</strong></h3>
</div>
@*@if (ViewBag.Informacja != null)
{
<div class="alert alert-warning"><h4><strong>@TempData["Dodano-Post"]</strong></h4></div>
}*@
<table class="table table-responsive table-striped transactions" style="text-combine-upright:all;">
<tr style="text-transform: uppercase; text-combine-upright:all;">
<th>
<label>Pozycja Nr.</label>
</th>
<th>
<label>Nr Zlecenia</label>
</th>
<th>
<label>Data Przyjęcia Zlecenia</label>
</th>
<th>
<label>Data Planowanego Zakończenia Zlecenia</label>
</th>
<th>
<label>Data zakończenia zlecenia</label>
</th>
<th style="width: 160px;"></th>
<th style="width: 160px;"></th>
</tr>
@{ var i = 0;}
@foreach (var item in Model.ListaZlecenUzytkownika)
{
<tr class="panel panel-primary">
@*
<h5><strong>Zlecenie nr: @Html.DisplayFor(modeItem => item.IdZlecenia)</strong></h5>
<td>
@{i++;}
@i
</td>
<td>
<h5><strong>Zlecenie nr: @Html.DisplayFor(modeItem => item.IdZlecenia)</strong></h5>
</td>
<td>
@Html.DisplayFor(modelItem => item.DataPrzyjeciaZlecenia)
</td>
<td>
@Html.DisplayFor(modelItem => item.DataPlanowaniaZakonczenia)
</td>
<td>
@Html.DisplayFor(modelItem => item.DataZakonczenia)
</td>
<td>
@Ajax.ActionLink("Pokaż Posty Zlecenia", "_ListaPostow", new { idZlecenia = @item.IdZlecenia }, new AjaxOptions()
{
HttpMethod = "GET",
LoadingElementId = "divLoading",
UpdateTargetId = "divPozycje",
InsertionMode = InsertionMode.Replace
}, new { @class = "btn btn-primary" })
</td>
<td>
@Ajax.ActionLink("Dodaj Odpowiedz", "_DodajPost", new { idZlecenia = @item.IdZlecenia }, new AjaxOptions()
{
HttpMethod = "GET",
LoadingElementId = "divLoadingForm",
UpdateTargetId = "divDodajPozycje",
InsertionMode = InsertionMode.Replace
}, new { @class = "btn btn-primary" })
</td>
</tr>
<tr style="background: #23527c; color:white;">
<td>
<label>Opis załącznika</label>
</td>
<td style="width: 120px;">
<label>Załącznik</label>
</td>
</tr>
<tr class="panel panel-group">
<td>
@Html.Raw(item.ZleceniaZalaczniki.Opis)
</td>
<td>
<span class="btn btn-primary">
@Html.ActionLink("Pobierz", "Download", "Zlecenia", new { nazwaPliku = @item.ZleceniaZalaczniki.NazwaPliku }, null)
<span class="glyphicon glyphicon-download" aria-hidden="true"></span>
</span>
</td>
</tr>
<tr id="divDodajPozycje"></tr>
}
</table>
<br />
<div class="btn-group pull-right">
@Html.LinkStrony(Model.StronaInfo, x => Url.Action("ListaZlecen", new { strona = x }))
</div>
<br />
<hr />
<div id="divPozycje">
</div>
</div>
我试过这种方式,但它只在一个页面上创建编号。从头开始创建下一个编号。
@{ var i = 0;}
<td>
@{i++;}
@i
</td>
我每页都有3个订单,我希望所有订单都自动编号,例如: 第一页1,2,3 第二页4,5,6
我正在寻求帮助,为整个订单集创建编号
答案 0 :(得分:1)
您可以从当前页面开始,而不是从i = 0开始,
我不知道它是哪种语言,但我希望我做对了。
// Instead of this: @{ var i = 0;} - on your view
//Use this:
@{ var i = (Model.AktualnaStrona -1 ) * Model.PozycjeNaStrone ;}
//It should be equal to the calculation you use on the API:
(strona - 1) * WielkoscStrony
//(from this line: )
var ListaZlecen = db.Zlecenia.OrderBy(w => w.IdZlecenia).
Skip((strona - 1) * WielkoscStrony). //--> THIS
Take(WielkoscStrony).ToList();