для распаковки объектов в пары свойство / значение, которые вы можете легко использовать в строках запроса или в других целях.

я следующая проблема: одна из систем, над которой я работаю, - это страница поиска. На этой странице у меня есть несколько вариантов, таких как записи на странице, дата начала, дата окончания и проблемный: тип. Нужно иметь возможность выбрать более одного типа (в большинстве случаев все они будут выбраны). Чтобы сделать это, я создал следующее:

<div>
    <label>Eventos:</label>
    <div>
        @Html.ListBox("events", Model.Events, new { style = "width: 100%" })
    </div>
</div>

Он создает список, в котором я могу выбрать более одного варианта, и когда форма будет отправлена, моя строка запроса будет выглядеть так:

/ 5? Период = 9 & события = 1 & события = 3 & recordsPerPage = 10

Там можно увидеть, что созданы два события (это тот тип, о котором я говорил ранее). Метод действия для этой страницы занимаетList<long> в качестве одного из аргументов, который представляет, что дваevents ценности. Проблема начинается, когда я хочу использовать это с MVC Contrib. Их пейджер работает просто отлично, но, как мне было предложено, я создал еще один пейджер, который отображает ссылки на пять страниц после и до той, на которой находится пользователь. Чтобы сделать это, в части моего кода я должен сделать следующее (что очень похоже на пейджер MVC Contrib, который работает):

public RouteValueDictionary GetRoute(int page)
{
    var routeValues = new RouteValueDictionary();
    foreach (var key in Context.Request.QueryString.AllKeys.Where(key => key != null))
    {
        routeValues[key] = Context.Request.QueryString[key];
    }

    routeValues["page"] = page;
    return routeValues;
}   

А потом:

@Html.ActionLink(page.ToString(), action, controller, GetRoute(page), null)

Проблема в том, что это словарь, который делает второй раз, когда я устанавливаю значение дляrouteValues["events"] стереть предыдущее.

Ребята, вы знаете, как с этим работать?

Ответы на вопрос(2)

Ваш ответ на вопрос