我需要開始處理一個包含emailand GUID的URL。有些事情喜歡跟隨第一個參數是電子郵件地址,第二個參數是Guid。查詢字符串參數錯誤
爲此,我已經修改了我的路由如下
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)
{
............
}
問題是,當我走在上面的URL,http://www.myWebSiteurladdress.com/Account/[email protected]?MyId=222DF915-264E-4034-BF26-22EB1165667C我得到以下錯誤。任何想法我可能在這裏做錯了嗎?
參數字典包含參數 'MYID' 非空類型的 '的System.Guid' 的方法 「System.Web.Mvc.ActionResult MyActionMethod(System.String, 的System.Guid空條目)'在'SmartChartsMVC.Controllers.AccountController'中。一個 可選參數必須是一個引用類型,一個可爲空的類型,或者是作爲可選參數聲明的 。參數名稱:參數
像往常一樣,你是男人:) – 2012-01-09 20:45:26