Почему% 2020 действителен для длинных типов данных, когда мы переходим от URL - PullRequest
0 голосов
/ 14 мая 2019

Я создал действие .net mvc в моем контроллере следующим образом

public ActionResult Action(long No)
{
        return View();
}

Теперь я запускаю проект и нажимаю на ссылку Url

.

http://localhost:64478/Home/Action/10

работает нормально, просто

Теперь я использую URL http://localhost:64478/Home/Action/%1010

В этом случае возвращается Неверный запрос

Теперь я использую URL http://localhost:64478/Home/Action/%2020

в этом случае он работает нормально, но в контроллере он дает мне значение 20

так, почему он так себя ведет, хотя я долго использовал datatype, почему? принимающий %

1 Ответ

0 голосов
/ 14 мая 2019

%20 в Url считается закодированным значением для пустого пространства.Поэтому средство связывания модели по умолчанию игнорирует пробел и связывает значение «20» с параметром в контроллере.

С другой стороны,% 10 - это другой символ, который не игнорируется и пытается связать 10 спрефикс нецифрового символа к переменной long приведет к ошибке.

...