当我们在MVC5中,使用@Html.ActionLink的方式进行传递参数时,在后台使用ViewData的方式进行接收所传递的参数,
传值方式:
@Html.ActionLink("Excel", "Correction", new { id = item.OilOmeterID })
Html解析:<a href="/Correction?id=OilOmeterID" > Excel</a>
获取参数方式:
public ActionResult Correction(int? id)
{
DepotDropDownList();
OilNameDropDownList();
OilOmeterTypeDropDownList();
1. ViewData["Id"] = id;
{
DepotDropDownList();
OilNameDropDownList();
OilOmeterTypeDropDownList();
1. ViewData["Id"] = id;
2.var id=Request["id"];
return View();
}
return View();
}
并且在前台页面中使用 @Html.Hidden的方式进行隐藏保留所传递的参数,从而在这个页面其他操作时进行调用
获取值方式: string ii = Request.Form["HOilMeterID"];
但是当进行post的方式提交时,需要在返回ActionResult的方法里进行二次的值传递,保证此页面刷新,值的不丢失,防止页面进行绑定hidde控件时不报错。
返回方法中关键代码, return RedirectToAction("Correction", new { id=id});两个id,一个代表参数name,一个代表从前台获取的参数value.
有点困,没时间排版,将就看吧。 以前都是发布在QQ空间日志里,现在整理出来发布在博客里