0
我正在設計一個頁面,我正在顯示一些分頁細節。除了分頁,頁面可以正常工作當我點擊第二頁時沒有任何反應。所有數據cureently顯示也將去。另外,當我打到第二頁控制不會去我的行動方法。這是我的尋呼機代碼。尋呼不在MVC4中工作
@Html.PagedListPager(Model.logDetails, page => Url.Action("Index",
new { page, currentFilter = ViewBag.CurrentFilter, filterdateTime=ViewBag.filterdateTimepageSize, }))
Page @(Model.logDetails.PageCount < Model.logDetails.PageNumber ? 0 : Model.logDetails.PageNumber) of @Model.logDetails.PageCount
這是我的操作方法代碼。
[HttpPost]
public ActionResult Index(int? clientId, DateTime? dateofAction,string typeofDocument,string employeeID,string citizenId,int? currentFilter,DateTime? filterdateTime,int? page)
{
DB_KYC3Entities db = new DB_KYC3Entities();
ViewBag.docTypes = new SelectList(db.tm_doc_type, "doc_typeid", "doctype_name");
if (clientId != null)
{
page = 1;
}
else
{
clientId = currentFilter;
}
if(dateofAction!=null)
{
page = 1;
}
else
{
dateofAction = filterdateTime;
}
ViewBag.CurrentFilter = clientId;
ViewBag.filterdateTime = dateofAction;
int pageSize = 8;
int pageNumber = (page ?? 1);
VerificationLogBAL obj = new VerificationLogBAL();
int docType = obj.GetDocDetails(typeofDocument);
List<logDetails> logDetails = obj.getlogDetails(clientId?? default(int), dateofAction?? DateTime.Now, docType, employeeID, citizenId);
IPagedList<logDetails> pagedLog = logDetails.ToPagedList(pageNumber, pageSize);
logDetailsEnumeration model = new logDetailsEnumeration();
ViewBag.checkData = logDetails.Count;
model = new logDetailsEnumeration()
{
logDetails= pagedLog
};
return View("Index",model);
}
這是我的查看代碼。
<div class="forms">
@using (Html.BeginForm("Index", "VerificationLog", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="message"></div>
<div class="loginUsernamePassword">
<i class="fa fa-user"></i>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="dataTable tableHover">
<tr>
<th width="8%" scope="col">Client ID</th>
<th width="20%" scope="col">
<div class="form-box form-box-default">
@Html.TextBox("clientId", ViewBag.CurrentFilter as string, new { @id = "clientId", @placeholder = "Client ID", @class = "form-control", @maxlength = 20 })
</div>
</th>
<th width="10%" scope="col">Date Of Action</th>
<th width="20%" scope="col">
<div class="form-box form-box-default">
@Html.TextBox("dateofAction", ViewBag.filterdateTime as string, new { @id = "dateofAction", @placeholder = "Date Of Action", @class = "txtBox form-control calender validate[required]" })
</div>
</th>
<th width="15%" scope="col">Type Of Document</th>
<th width="17%" scope="col">
<div class="form-box form-box-default">
@*@Html.TextBox("typeofDocument", ViewBag.filterdateTime as string, new { @id = "typeofDocument", @placeholder = "Type Of Document", @class = "form-control", @maxlength = 20 })*@
@Html.DropDownList("docTypes",null,new {@id = "typeofDocument", @placeholder = "Type Of Document", @class = "form-control"})
</div>
</th>
</tr>
<tr>
<th width="15%" scope="col">Employee ID</th>
<th width="17%" scope="col">
<div class="form-box form-box-default">
@Html.TextBox("employeeID", ViewBag.filterdateTime as string, new { @id = "employeeID", @placeholder = "Employee ID", @class = "form-control", @maxlength = 20 })
</div>
</th>
<th width="15%" scope="col">Citizen ID</th>
<th width="17%" scope="col">
<div class="form-box form-box-default">
@Html.TextBox("citizenId", ViewBag.filterdateTime as string, new { @id = "citizenId", @placeholder = "Citizen ID", @class = "form-control", @maxlength = 20 })
</div>
</th>
<th width="10%" scope="col" colspan="2">
<input type="submit" value="Search" class="btn btn-primary btn-cons search" />
</tr>
</table>
</div>
}
</div>
@if (Model != null && Model.logDetails.Count != 0)
{
<br />
<h2>Verification Log</h2>
<br />
<div id="GridDetails">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="dataTable tableHover">
<tr>
<th>Label</th>
<th>Value</th>
<th>UpdatedOn</th>
<th>UpdatedBy</th>
<th>UpdatedStatus</th>
<th>RejectComment</th>
</tr>
@foreach (var group in Model.logDetails)
{
<tr>
<td>@group.contentLabel</td>
<td>@group.contentValue</td>
<td>@group.updatedOn</td>
<td>@group.updatedBy</td>
<td>@group.updatedStatus</td>
<td>@group.rejectComment</td>
</tr>
}
</table>
[HttpGet]
public ActionResult Index()
{
DB_KYC3Entities db = new DB_KYC3Entities();
ViewBag.docTypes = new SelectList(db.tm_doc_type, "doc_typeid", "doctype_name");
return View();
}
當我點擊第二頁控制將不會去我的索引方法也。另外我有5個文本框,所以我需要保留viewbag中的全部5個文本框值?有人能告訴我嗎?在此先感謝
此功能與魅力類似。但我有一個疑問。我也有下面的方法。因爲在頁面加載我綁定下拉與數據庫值。它會衝突嗎? [httpget] public ActionResult Index(){} –
您只能擁有一個具有相同簽名的GET方法。你不需要你的其他索引方法,它應該被刪除。但是你需要在任何地方停止使用'ViewBag',並使用一個視圖模型,這樣你就可以很好地綁定它。該模型將包括屬性(比如說)int SelectedDocument'和IEnumerable DocumentList'(以及'Client','DateofAction'的屬性等 –
謝謝我會嘗試使用模型。我可以有一些有用的鏈接在哪裏我可以使用更多的模型比viewbags在尋呼概念? –