Что не так с этим вызовом метода действия контроллера - PullRequest
0 голосов
/ 25 февраля 2011

Когда я перенаправлю пользователя на этот URL

http://localhost:34768/Module/Edit?versionId=f4592b62-17e4-47e1-8a08-6a927a1c895e?selectedTab=0&selectedRowId=4c1fb4a6-691f-4c03-9e67-8f8b10a95c0e

Я получу следующую ошибку:

Словарь параметров содержит пустую запись для параметра'versionId' ненулевого типа 'System.Guid' для метода 'System.Web.Mvc.ActionResult Edit (System.Guid, System.Nullable 1[System.Int32], System.Nullable 1 [System.Guid], System.String)' в 'ParKone.Controllers.ModuleController.Необязательный параметр должен быть ссылочным типом, обнуляемым типом или быть объявлен как необязательный параметр.Имя параметра: параметры

Мое действие контроллера выглядит так:

public ActionResult Edit(Guid versionId, int? selectedTab, Guid? expandedRowId, string url = "")

Я не понимаю, почему versionId не проходит.Если я напишу этот URL, то он будет работать гладко.

http://localhost:34768/Module/Edit?versionId=f4592b62-17e4-47e1-8a08-6a927a1c895e

Есть идеи?

Обновление

У меня есть такая строка вWeb.config

<httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" />

1 Ответ

2 голосов
/ 25 февраля 2011

У вас есть два? В вашем URL, и поэтому маршрутизация выбирает ваши параметры со второго? ? используется в качестве разделителя ваших параметров и вашего URL, и поэтому кажется, что маршрутизация берет параметры, в данном случае, из части строки запроса после второй?.

...