2017-06-30 114 views
-1

我正在開發MVC應用程序。從MVC5的同一控制器中的一個操作方法獲取空值到另一個操作方法

我試圖從同一個控制器CityWiseAreaList傳遞cityid到_CreateCityWiseArea操作方法。

但數據通過不正確。

_CreateCityWiseArea獲取空值的操作方法。

請檢查下面的代碼...


這是我的區域控制器:

public ActionResult CityWiseAreaList(int cityid) 
{ 
    if (cityid == 0) 
    { 
     return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
    } 

    var data = db.Areas.Where(x => x.CityID == cityid).ToList(); 

    //TempData["ID"] = cityid; 

    RedirectToAction("_CreateCityWiseArea", new RouteValueDictionary(
    new { controller = "Area", action = "_CreateCityWiseArea", id = cityid })); 
    return View(data); 
} 

public ActionResult _CreateCityWiseArea(int? id) 
{ 
    // var cityid = Convert.ToInt32(TempData["ID"]); 
    if (id == 0) 
    { 
     return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
    } 

    var Name = db.Cities.Where(c => c.CityID == id).Select(x => x.CityName).FirstOrDefault(); 

    ViewBag.message = Name; 

    return View(); 
} 
//Add Area to Corresponding city 
// POST: Area/Create 
[HttpPost] 
[ValidateAntiForgeryToken] 
public ActionResult _CreateCityWiseArea(Area area) 
{ 
    if (ModelState.IsValid) 
    { 
     db.Areas.Add(area); 
     db.SaveChanges(); 

     return RedirectToAction("CityWiseAreaList"); 
    } 
    ViewBag.CityID = new SelectList(db.Cities, "CityID", "CityName", area.CityID); 
    return PartialView(" ~/Views/Area/_CreateCityWiseArea.cshtml", area); 
} 

我使用Redirectoactiontempdata方法傳遞價值,但時間都空值即將到來。

+1

。 –

+1

在你的第一個動作結果'CityWiseAreaList'中,你實際上並沒有返回'RedirectToAction'。除非一些代碼丟失? – Valeklosse

+0

如果我寫返回到RedirectionToAction然後在返回視圖無法訪問的代碼錯誤。其實我想顯示區域名稱對應的城市和時間我想通過** cityid **到** _ CreateCityWiseArea **操作方法。@ Valeklosse, @ J.Steen – Ash

回答

0

要從CityWiseAreaList通過id來_CreateCityWiseArea這應該是簡單的,因爲它是在同一個Controller你不需要添加RouteValueDictionary,但它是你的選擇呢。下面應該工作,這就是我要走的路:你不是** **返回的RedirectToAction

return RedirectToAction("_CreateCityWiseArea", new { id = cityid }); 
+0

它沒有使用RouteValueDictionary它的工作,但現在即時通訊得到另一個問題。問題是,我得到cityid GET ** _ CreateCityWiseArea **行動方法,但此cityid是沒有進入POST ** _ CreateCityWiseArea **操作方法。所以由於這在我的數據庫中只有AreaName是存儲不cityid.i希望既cityid和AreaName應保存到databse.plz檢查我的代碼,並糾正它,如果不正確。 – Ash

相關問題