PDA

View Full Version : آموزش: پاس دادم مقدار از یک اکشن به اکشن دیگر



piter11
چهارشنبه 27 بهمن 1395, 22:28 عصر
سلام چطور میشه مقدار متغیری از اکشنی را به اکشن دیگر در controler انتقال بدی به صورت پارامتر ورودی برای اون اکشن دوم؟

اکشن اول:

[HttpPost]

public string open(int txtsearch)

{

var q = (from a in db.Tbl_Prodoucts

where a.ID.Equals(txtsearch)

select a).SingleOrDefault();


string br = "</br>";

string li = "<span>" + q.Title + "</span>";

string src= "<img src = "+q.Image+" width:"+100+" height="+100+" /> ";

string txt = " <input type=hidden name="+txtsearch+" value="+txtsearch+" />";

string sum = src + br;

return li+br+sum+txt;



حالا میخوام مقدار متغیر txtsearchبه اکشن زیر به عنوان ورودی بدم ولی نمیدونم چطوری؟!

public ActionResult send(int txtsearch)

{

var q = (from a in db.Tbl_Prodoucts

where a.ID.Equals(txtsearch)

select a).SingleOrDefault();

return View(q);



}
ممنون میشم راهنمایی کنید با تشکر

piter11
پنج شنبه 28 بهمن 1395, 12:00 عصر
تو عکس زیر نگاه کنید بعد از انجام اکشن اول که مربوط به سرچ محصول است یه سری داده از دیتابیس میخونه نمایش میده در این صفحه حالا من میخوام اون عدد 1 که با آبی مشخص کردم(متغیر txtsearch) وقتی رو دکمه سفارش کلیک میکنم پاس داده شه به اکشن sendچطور این کارو کنم؟
144491

Moien Tajik
پنج شنبه 28 بهمن 1395, 12:59 عصر
2 راه برای انجام اینکار هست :
1- مقدار " 1 " رو داخل یک فرم قرار بدید و بصورت Hidden بعد از کلیک روی " سفارش " مقدارش رو به اکشن دوم بدید .
2- استفاده از TempData ; روش کار به این صورت هستش :


[HttpPost]
public ActionResult Action1(int txtSearch)
{
var query = _db.Products.Find(txtSearch).FirstOrDefault;
TempData["query"] = query;
return "Ok";
}


public ActionResult Action2()
{
var query = TempData["query"];
return "Ok";
}

piter11
پنج شنبه 28 بهمن 1395, 13:27 عصر
بسیار ممنون درست شد