ASP.NET MVC BİR CONTROLLER'DAN BAŞKA BİR CONTROLLER'A PARAMETRE GÖNDERME
Controller arasında parametre taşıma aşağıdaki şekillerde yapılabiliyor.
QueryString ile Adres Çubuğundan
Customer class kodları
public class Customer
{
public int CustomerID { get; set; }
public string CustomerName { get; set; }
public string Country { get; set; }
}
Aşağıdaki kod, Home1 isimli Controller'a ait Index Methodu.
public ActionResult Index()
{
Customer data = new Customer()
{
CustomerID = 1,
CustomerName = "Abcd",
Country = "USA"
};
string url=string.Format("/home2/index?customerid={0}
&customername={1}&country={2}",
data.CustomerID,data.CustomerName,data.Country);
return Redirect(url);
}
Aşağıdkai kod ise Home2 isimli Controller'ın Index methodunda gelen parametleri nasıl alacağınız gösteriliyor.
public ActionResult Index()
{
Customer data = new Customer();
data.CustomerID = int.Parse(Request.QueryString["CustomerID"]);
data.CustomerName = Request.QueryString["CustomerName"];
data.Country = Request.QueryString["Country"];
return View(data);
}
TempData yöntemini kullanarak parametre gönderme
Home1 içinde TempData["mydata"] 'nın dolduruluşu..
public ActionResult Index()
{
Customer data = new Customer()
{
CustomerID = 1,
CustomerName = "Abcd",
Country = "USA"
};
TempData["mydata"] = data;
return RedirectToAction("Index", "Home2");
}
Home2 içinde TempData["mydata"] 'nın okunuşu..
public ActionResult Index()
{
Customer data = TempData["mydata"] as Customer;
return View(data);
}
Diğer yöntemler ve kullanım şekilleri için http://www.binaryintellect.net/articles/8e64d05b-ab2e-45f6-b7f5-b8a90168915e.aspx