سؤال

وألاحظ هذا الشيء المثير للاهتمام في ASP.NET MVC:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

وأود أن الخريطة {*} pathInfo في الطريق.

وشيء من هذا القبيل:

routes.MapRoute(
  "area/{*pathInfo}",
   "{controller}/{action}/{id}",parameters
   new { controller = "Area", action = "Index", id = ??? } 
);

ولكن كيف يمكنني تمرير في متغير "فو / شريط / راب / OOF" من mydomain.com/area/foo/bar/rab/oof؟ إما تمرير بعض الشيء بأكمله كسلسلة أو كمجموعة سيكون على ما يرام معي.

وشكرا!

هل كانت مفيدة؟

المحلول

وأي إصدار الذي تستخدمه MVC؟ يجب أن يكون اسم مسار المعلمة الأولى لMapRoute () كما أتذكر في MCV بيتا. على أي حال، نظرا هدفك من الاستيلاء على الطريق، وأود أن تفعل ق / ر مثل:

routes.MapRoute("AreaRoute", "Area/{*values}", new {controller = "Area", action = "Index"}       );

وفي وحدة تحكم المساحة:

// "value" argument is the string after Area/, i.e. "foo/bar/rab/oof" in your example
public string Index(string values)  
{  
  ...
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top