MVC中Action之间传值
一 MVCAction之间的传值
之前一直觉得关于MVC里面的传值,只能从<视图—>Action>,和<Actoin->视图>但是今天在项目里面需要实现将几个视图里面的表单统一保存在一张表(Order),这样就需要将前面的表单保存到某个地方,最会统一放到一个Post里面进行保存。
前面页面的表单全部在下面的Model里面
通过 TempData[“ExpressOrderItem”]=model;将数据提交的表单数据放到TempData里面,接着在后面的视图里面统一的将其提交到一个POst里面。
在其要接收的视图里面这样写,
这样子OrderItem里面就是第一个表单里面提交的数据了,这样子就将表单从一个Action传递到了另一个Action里面。
二 将Action里面的值传递到视图
1:ViewBag传值和ViewData传值
ViewBag传值,在Action里面通过使用ViewBag.Name来传值
public ActionResult Index
{
ViewBag.Title=”阿辉”;
Return View();
}
在视图里面用@ViewBag.Title来取到action传来的值“阿辉”。
ViewData传值,在Action里面通过使用ViewData[“Title”]=”阿辉”;来传值,将来在视图里面使用@ViewData[“Title”]来获取值“阿辉”。
三 参数的传递
上次在做项目的时候就讲参数传递错了,这次特地的做个笔记来记录。
我们往action里面传递参数的时候就必须往参数里面进行赋值,就是这个参数的值是什么,
视图1
<a href=”@Url.Action(“action”,”controller”,new{id=@item.id})”></a>
这样子就讲item里面的id就传到了指定的action里面了。
四 根据EF从数据库取一页数据的写法
在上次的项目里面我就是因为将参数PageIndex和PageSize俩个写返了,导致我自己浪费了很多的时间。
下面是通过数据库中的一个值来取得实体对象。
但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.