我相信,我做错了什么,但在这花了几个小时,没有运气后,我会很高兴,如果有人能帮助我了这一点。
好像路由系统荣誉仅在第一路由注册的参数。
这是我的global.asax.cs看起来像
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace MvcApplication4
{
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"t", // Route name
"{controller}/{action}/{i}/{v}",
new { i = UrlParameter.Optional, v = UrlParameter.Optional }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}",
new { id = UrlParameter.Optional }
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
}
}
这是家居控制器的模样
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication4.Controllers
{
public class HomeController : Controller
{
public ActionResult Index(int? id)
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
public ActionResult About(int? a)
{
return View();
}
}
}
问题是,当我尝试这个网址
http://localhost:52230/Home/Index/2
该ID总是空。 但是,如果我尝试http://localhost:52230/Home/Index?id=2
....它的作品。
如果我的任何其他途径之前注册主页/指数它还适用。 在这种情况下后面登记的路由具有在接受参数的同样的问题。
我在做什么错在这里?
更新:
我想这两个控制器工作,如何将我的路线注册是什么样子?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication4.Controllers
{
public class HomeController : Controller
{
public ActionResult Index(int? id)
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
}
}
第二控
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication4.Controllers
{
public class VisitorController : Controller
{
//
// GET: /VisitorSecurityPoints/
public ActionResult Test(string i,string v)
{
return View();
}
}
}