Проблема с нумерацией страниц WebGrid в MVC3C#

Место общения программистов C#
Ответить
Anonymous
 Проблема с нумерацией страниц WebGrid в MVC3

Сообщение Anonymous »

Проблема в том, что нумерация страниц работает нормально до 9-го номера страницы, и когда я запрашиваю страницу, состоящую из двух или более цифр, она берет последние цифры и игнорирует остальные, скажем, например. Если я запрашиваю номер страницы 10, он отображает страницу 0, передавая «?page=0» в качестве строки запроса и отбрасывая 1, и если я запрашиваю номер страницы, скажем, например. 458, затем он показывает номер страницы 8, передавая «?page=8» в качестве строки запроса, и отбрасывает 45 из 458.
Вот мой код:

В Javacsript:

Код: Выделить всё

        $(function () {
$('tfoot a').click(function () {
// try to extract the page number from the link
var page = this.href.match(/page=([0-9])+/)[1];

// submit the form so that the POST action is invoked
var form = document.forms[0];
form.action = '/Session/Index?page=' + page;
form.submit();

return false;
});
});

На виду:

Код: Выделить всё

    var grid = new WebGrid(source: Model.ListSessions, rowsPerPage: 5,
canPage: true, canSort: false, defaultSort: "Absentee");

@grid.GetHtml(
htmlAttributes: new { id = "grid" },
tableStyle: "grid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: grid.Columns(
grid.Column(format: @  , style: "width:0px;"),
grid.Column("CreatedBy", "Created By"),
grid.Column("Session Title", format: (item) => Html.ActionLink((string)item.SessionTitle, MVC.Session.ActionNames.EditSession,
new { id = item.SessionId })),
grid.Column("SessionID", "Simple Session ID"),
grid.Column("StartDate", "Start Date"),
grid.Column("StartTime", "Start Time"),
grid.Column("SessionStatus", "Status"),
grid.Column("Prep Materials", format: @[url=@Url.Action(MVC.Session.Actions.ViewSession((string)item.SessionID))]View[/url][url=@Url.Action(MVC.Session.Actions.UploadSession((Int32)item.SessionId))]Upload[/url]  ),
grid.Column("Action", format: @[url=@Url.Action(MVC.Session.Actions.ViewSession((int)item.SessionId))]View[/url][url=@Url.Action(MVC.Session.Actions.EditTranscript((Int32)item.SessionId))]Edited Session [/url])
), mode: WebGridPagerModes.All)
и в контроллере:

Код: Выделить всё

    [HttpPost]
public virtual ActionResult Index(SessionViewModel model)
{
model = GetSessionListing(model);
return View(model);
}

private SessionViewModel GetSessionListing(SessionViewModel model)
{
if (model == null)
{
model = new SessionViewModel();
}
int page = 1;
if (Convert.ToInt64( Request["page"]) != null)
int.TryParse(Request["page"], out page);

//Rest of Coding here

return model;
}
Любая помощь будет полезна!
Если вам все еще нужно задать что-то еще, спросите меня.
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/165 ... ue-in-mvc3
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»