مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

payam64

عضویت از 1397/01/14

تعریف مسیر بهینه تر

  • دوشنبه 26 شهریور 1397
  • 11:14
تشکر میکنم

با سلام و خسته نباشید خدمت شما مهندس مدائنی عزیز

در مورد تعریف مسیرها در asp,net mvc به چه صورت میتونم من مسیری رو تعریف کنم که در قسمت url به صورت http://sitename.com/article-title باشه بطور مثال برای واکشی یک مقاله در بانک مقالات در حالیکه از قبل من id مقاله مورد نظر رو به دست آورده باشم البته از لحاظ سئو این مسیری میخوام باید به صورت آدرسی که نوشتم باشه و نمیخوام در 2،  segment تعریف بشه

به عنوان مثال اگه قبلا برای بازیابی از آدرس زیر استفاده میشد

sitename.com/1/artile-title

باید فقط شامل نام مقاله باشه

sitename.com/article-title

با سپاس

پاسخ های این پرسش

تعداد پاسخ ها : 4 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • دوشنبه 26 شهریور 1397
  • 12:01

برای این که از Route پیش فرض استفاده نکنید می تونید از طریق Route Attribute مسیر مورد نظر خودتون رو ایجاد کنید. به عنوان مثال: 

    [Route("{title}")]
    public AcitonResult Get(string title)
    {
        var post = _blogRepository.Get(title);

        if (post == null)
        {
            return NotFound();
        }

        return View(post);
    }

اطلاعات بیشتر 

کاربر سایت

payam64

عضویت از 1397/01/14

  • دوشنبه 26 شهریور 1397
  • 20:54

مرسی مهندس شما درست فرمایش می کنین حالا اگه جسنجو بر اساس کلید Id باشه و مقداری int  داره من میخوام توی آدرس لینک مقدار این id پر بشه اما تو آدرس url عنوان مقاله باشه کدی که شما زحمتشو کشیدین بر اساس عنوان جستجو می کنه حالا اگه بخوایم جستجو بر اساس کلید اصلی باشه این route به چه صورت تعریف میشه ؟

کاربر سایت

salman_b

عضویت از 1396/02/18

  • سه شنبه 27 شهریور 1397
  • 12:16

سلام

این لینک رو ببینید به همراه مثال یاد بگیرید.

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • سه شنبه 27 شهریور 1397
  • 12:30

بدین شکل می تونید این کار رو انجام بدید:


[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);
}

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)