با سلام و خسته نباشید خدمت شما مهندس مدائنی عزیز
در مورد تعریف مسیرها در asp,net mvc به چه صورت میتونم من مسیری رو تعریف کنم که در قسمت url به صورت http://sitename.com/article-title باشه بطور مثال برای واکشی یک مقاله در بانک مقالات در حالیکه از قبل من id مقاله مورد نظر رو به دست آورده باشم البته از لحاظ سئو این مسیری میخوام باید به صورت آدرسی که نوشتم باشه و نمیخوام در 2، segment تعریف بشه
به عنوان مثال اگه قبلا برای بازیابی از آدرس زیر استفاده میشد
sitename.com/1/artile-title
باید فقط شامل نام مقاله باشه
sitename.com/article-title
با سپاس
برای این که از Route پیش فرض استفاده نکنید می تونید از طریق Route Attribute مسیر مورد نظر خودتون رو ایجاد کنید. به عنوان مثال:
[Route("{title}")] public AcitonResult Get(string title) { var post = _blogRepository.Get(title); if (post == null) { return NotFound(); } return View(post); }
مرسی مهندس شما درست فرمایش می کنین حالا اگه جسنجو بر اساس کلید Id باشه و مقداری int داره من میخوام توی آدرس لینک مقدار این id پر بشه اما تو آدرس url عنوان مقاله باشه کدی که شما زحمتشو کشیدین بر اساس عنوان جستجو می کنه حالا اگه بخوایم جستجو بر اساس کلید اصلی باشه این route به چه صورت تعریف میشه ؟
سلام
این لینک رو ببینید به همراه مثال یاد بگیرید.
بدین شکل می تونید این کار رو انجام بدید:
[Route("{id:int}")] public AcitonResult Get(int id) { var post = _blogRepository.Get(id); if (post == null) { return NotFound(); } return View(post); } [Route("{id:int}/title")] public AcitonResult Get(int id) { var post = _blogRepository.Get(id); if (post == null) { return NotFound(); } return View(post); }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)