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

آموزش 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

 


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



دیدگاه ها :