hmahdavi921
سه شنبه 07 آذر 1396, 16:58 عصر
با سلام خدمت مهندسان گرامی
در سایتم یک اکشن با این ورودی ها دارم
public ActionResult Index(int? DepProvince, int? From, int? DesProvince, int? To, string DepartureDate, bool? IsForeign)
حالا میخوام با استفاده از امکان Attribute Routing کوئری استرینگ که دارم رو تبدیل به روت کنم. یعنی این کوئری استرینگ
/Bus?DepProvince=11000000&From=11321006&RetProvince=31000000&To=31310000&DepartureDate=1396%2F09%2F07&IsForeign=False
باید تبدیل بشه به
/Bus/11000000-11321006/31000000-31310000/13960907/0
البته این مورد رو با استفاده از IRouteConstraint پیاده کردم اما الان کاربر هر مقداری بخواد میتونه وارد کنه چون کلا یک رشته بیشتر نیست اما من میخوام همین رو با Attribute Routing پیادهسازی کنم تا نوع پارامترها هم مشخص باشه
در RoutConfig.cs این موارد رو دارم :
routes.MapMvcAttributeRoutes();
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//---------------------BusRoute---------------------------
routes.MapRoute(
name: "BusRoute",
url: "{*permalink}",
defaults: new { controller = "Bus", action = "Index" },
constraints: new { permalink = new BusConstraint() },
namespaces: new[] { "TravelEnterProject.Controllers" }
);
من از این attributeدر بالای اکشن Index استفاده کردم به این صورت :
[Route("bus/{DepProvince}{From}/{DesProvince}-{To}/{DepartureDate}/{IsForeign}")]
public ActionResult Index(int? DepProvince, int? From/*City*/, int? DesProvince, int? To/*City*/, string DepartureDate, bool? IsForeign){}
اما موقع اجرای پروژه این خطا رو بهم میده :
147177
لطفا راهنمایی کنید .
در سایتم یک اکشن با این ورودی ها دارم
public ActionResult Index(int? DepProvince, int? From, int? DesProvince, int? To, string DepartureDate, bool? IsForeign)
حالا میخوام با استفاده از امکان Attribute Routing کوئری استرینگ که دارم رو تبدیل به روت کنم. یعنی این کوئری استرینگ
/Bus?DepProvince=11000000&From=11321006&RetProvince=31000000&To=31310000&DepartureDate=1396%2F09%2F07&IsForeign=False
باید تبدیل بشه به
/Bus/11000000-11321006/31000000-31310000/13960907/0
البته این مورد رو با استفاده از IRouteConstraint پیاده کردم اما الان کاربر هر مقداری بخواد میتونه وارد کنه چون کلا یک رشته بیشتر نیست اما من میخوام همین رو با Attribute Routing پیادهسازی کنم تا نوع پارامترها هم مشخص باشه
در RoutConfig.cs این موارد رو دارم :
routes.MapMvcAttributeRoutes();
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//---------------------BusRoute---------------------------
routes.MapRoute(
name: "BusRoute",
url: "{*permalink}",
defaults: new { controller = "Bus", action = "Index" },
constraints: new { permalink = new BusConstraint() },
namespaces: new[] { "TravelEnterProject.Controllers" }
);
من از این attributeدر بالای اکشن Index استفاده کردم به این صورت :
[Route("bus/{DepProvince}{From}/{DesProvince}-{To}/{DepartureDate}/{IsForeign}")]
public ActionResult Index(int? DepProvince, int? From/*City*/, int? DesProvince, int? To/*City*/, string DepartureDate, bool? IsForeign){}
اما موقع اجرای پروژه این خطا رو بهم میده :
147177
لطفا راهنمایی کنید .