На самом деле вы можете захватывать строки запроса в MVC двумя способами .....
public ActionResult CrazyMVC(string knownQuerystring)
{
// This is the known query string captured by the Controller Action Method parameter above
string myKnownQuerystring = knownQuerystring;
// This is what I call the mysterious "unknown" query string
// It is not known because the Controller isn't capturing it
string myUnknownQuerystring = Request.QueryString["unknownQuerystring"];
return Content(myKnownQuerystring + " - " + myUnknownQuerystring);
}
Это будет захватывать обе строки запроса ... например:
/CrazyMVC?knownQuerystring=123&unknownQuerystring=456
Output: 123 - 456
Не спрашивайте меня, почему они так спроектировали. Было бы больше смысла, если бы они выбросили всю систему действий контроллера для отдельных строк запроса и просто вернули захваченный динамический список всех строк / закодированных файловых объектов для URL-адреса с помощью кодировки url-form, чтобы вы могли легко получить доступ к ним всем за один вызов , Может быть, кто-то здесь может продемонстрировать это, если это возможно?
Не имеет никакого смысла для меня, как контроллеры собирают строки запроса, но это означает, что у вас больше гибкости для захвата строк запроса, чем они учат вас из коробки. Так что подбери свой яд .... оба отлично работают.