我正在开发MVC应用程序。
我正在尝试将cityid从同一控制器中的 CityWiseAreaList 传递给 _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);
}
我使用Redirectoaction
,tempdata
方法传递值,但时间空值都来了。
答案 0 :(得分:0)
您希望将CityWiseAreaList
中的ID传递给_CreateCityWiseArea
这应该很简单,因为它不在同一个Controller
中,您不需要添加{ {1}}但无论如何它都是你的选择。以下应该有效,这就是我的方式:
RouteValueDictionary