ارسال پارامتر به اکشن در هنگام ریدایرکت شدن

آموزش MVC –> جلسه اول –> قسمت هشتم

ارسال پارامتر به اکشن در هنگام ریدایرکت شدن :

در مقاله قبل با نحوه ریدایرکت کردن به اکشنی دیگر آشنا شدیم . در این مقاله مبحث قبل را کمی پیچیده تر میکنیم .

اگر اکشن مقصد (اکشنی که میخواهیم به آن ریدایرکت شویم) دارای پارامتر ورودی باشد باید بصورت زیر عمل کنیم :

اکشن ما در این مثال دارای دو پارامتر firstNumber و secondNumber است . برای ریدایرکت شدن به این اکشن باید از anonymous object استفاده کنیم .

اینگونه تعریف میشود :

routeValues: new { param1 = x1 , param2 = x2 }

پس اکشن مبدا ما بصورت زیر تعریف می شود :

   public System.Web.Mvc.ActionResult Learn1170()
        {     
            return (RedirectToAction(actionName: "Action3",
                routeValues: new { firstNumber = 10, secondNumber = 20 }));
        }

و اکشن مقصد نیز بصورت زیر است :

  public System.Web.Mvc.ActionResult Action3(int firstNumber, int secondNumber)
        {
            string strResult =
                string.Format("First Number: {0}, Second Number: {1}",
                firstNumber, secondNumber);

            return (Content(strResult));
        }

نکته : اگر هنگام ریدایرکت شدن به اکشن مقصد دقیقا تعداد پارامترها و نام آنها مشخص نباشد(بعنوان مثال بخواهیم از اکشن های مختلف ، اکشن مقصد را با پارامترهای مختلف صدا بزنیم) باید از متغیر TempData استفاده کنیم .  در مقاله بعد با TempData آشنا خواهیم شد . با ما باشید laugh

 


تاریخ انتشار : ۲۵ آذر ۱۳۹۴



دیدگاه ها :