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

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

کاربر سایت

مرتضی پورمحمد

عضویت از 1393/12/23

ایجاد لینک بهینه شده برای مقالات

  • چهارشنبه 8 مهر 1394
  • 17:35
تشکر میکنم

با سلام

می خواستم برای هر مقاله یک آدرس یونیک و دستی داشته باشم. برای همین اومدم توی دیتابیس یک فیلد درست کردم به نام ArticleURL / حالا می خوام وقتی دارم مقاله رو می نویسم یک رشته رو در دیتابیس ذخیره کنم تا در روتینگ MVC به جای آی دی مقاله یا ... نمایش بده

اما هر کاری کردم نشد

اینم کنترلرم

        [Route("{ArticleURL}")]
        public ActionResult ArticlDetails(int? id,Article article )
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }


            article = db.Article.Find(id);
            
            if (article == null)
            {
                return HttpNotFound();
            }
            return View(article);
        }

 

 

دوستان ممنون میشم کمک کنید

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

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

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 8 مهر 1394
  • 18:39

در Rout.Config صفت Rout رو فعال کردید ؟

کاربر سایت

مرتضی پورمحمد

عضویت از 1393/12/23

  • چهارشنبه 8 مهر 1394
  • 19:53

سلام

اون کار رو قبلش انجام دادم، ولی جز ای دی جدول نمیتونم چیز دیگرو توی روتینگ وارد کتم

الان به این شکل {id} درست کار میکنه

ولی وقتی میزنم }articletitle} یا هر فیلد دیگه، نمیشناسه

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 9 مهر 1394
  • 07:40

شما Rout رو به صورت {ArticleURL}در نظر گرفتید

پس ورودی متد باید حتما string با همین نام باشد مثل زیر

[Route("{ArticleURL}")]
public ActionResult ArticlDetails(string ArticleURL)
{
    if (id == null)
    {
        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
    }
 
 
    article = db.Article.FirsOrDefault(a=>a.Url==ArticleURL);
     
    if (article == null)
    {
        return HttpNotFound();
    }
    return View(article);
}

 

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

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

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

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