На моей странице mvc asp.net я хочу вызвать RedirectToAction (actionName, controllerName, values).
Параметр values - это объект, который содержит все необходимые значения.
Пример
return RedirectToAction(redirectAction, redirectController,
new{ personId = foundId,
personEmail = foundEmail,
personHeigh = foundHeight});
Это хорошо, если ни один из этих параметров не является нулевым или пустой строкой.
Когда это происходит, System.Uri.EscapeDataString (String stringToEscape) создает исключение ArgumentNullException.
Проблема в том, что я не знаю во время компиляции, какие параметры будут нулевыми. Кроме того, я бы предпочел не создавать объект для каждой возможной комбинации ненулевых значений.
В моем примере есть только три параметра, но что если бы было 10? Возможные комбинации растут в геометрической прогрессии.
Поскольку невозможно добавить поля к типу anon, я также не могу добавлять параметры по одному.
Как я могу решить эту проблему?