Мне нужно начать обработку URL-адреса, который будет содержать электронную почту и GUID.Что-то вроде следующего, где первый параметр - это адрес электронной почты, а второй - Guid.
http://www.myWebSiteurladdress.com/Account/MyActionMethod?MyEmail=me@here.com?MyId=222DF915-264E-4034-BF26-22EB1165667C
Для этого я изменил свой маршрут, как показано ниже
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"RouteABC", // Route name
"{controller}/{action}/{mail}/{id}", // URL with parameters
new { controller = "Account", action = "MyActionMethod", mail = string.Empty, id = Guid.Empty } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
Тогда у меня есть метод действия, подобный приведенному ниже.
public class AccountController : Controller
{
public ActionResult MyActionMethod(string email, Guid id)
{
............
}
Проблема в том, что когда я перехожу по указанному выше адресу, http://www.myWebSiteurladdress.com/Account/MyActionMethod?MyEmail=me@here.com?MyId=222DF915-264E-4034-BF26-22EB1165667C Я получаю следующую ошибку.Есть идеи, что я могу делать не так здесь?
Словарь параметров содержит пустую запись для параметра 'MyId' необнуляемого типа 'System.Guid' для метода 'System.Web.Mvc.ActionResult MyActionMethod (System.String, System.Guid) 'в' SmartChartsMVC.Controllers.AccountController '.Необязательный параметр должен быть ссылочным типом, обнуляемым типом или быть объявлен как необязательный параметр.Имя параметра: параметры