Использование ViewBag в качестве значения маршрута в Html.BeginForm преобразует значение ViewBag в нижний регистр

#asp.net-mvc #encryption #html.beginform

#asp.net-mvc #шифрование #html.beginform

Вопрос:

Я пытаюсь передать зашифрованную строку через коллекцию маршрутов BeginForm, доставив ее в ViewBag, например:

 @using (Html.BeginForm("Go", "Process", new { id = ViewBag.Id }, FormMethod.Post, new { @class = "seperate-sections fill-up form-horizontal", enctype = "multipart/form-data" }))
 

ViewBag.Id является динамически зашифрованной строкой, такой как: g9IPGGXm4jw=

К сожалению, когда оно доходит до моего контроллера через форму отправки; оно записывается в нижнем регистре, например: g9ipggxm4jw= что вызывает исключение в процессе дешифрования.

У кого-нибудь есть идея о том, где оно становится строчным?

Комментарии:

1. Я думаю, что это проблема кодирования…

Ответ №1:

Я нашел свой ответ. Проблема заключалась в маршрутизации!

Моя маршрутизация имеет принудительное определение нижнего регистра как routes.LowercaseUrls = true;

Таким образом, он автоматически преобразовывал URL в нижний регистр, и мое шифрование нарушалось!