EF5+MVC4系列(8) ActionResult的返回值】的更多相关文章

我们在MVC的代码中,经常会看到这样的一个 代码 可能有人会有疑问,既然我定义的是ActionResult,为什么返回值会是View方法呢? 其实这个View方法的返回值的类型是ActionResult的子类ViewResult   我们查看MVC源码可以看到 ActionResult是个抽象类,  ActionResult 有多个派生类(子类),有的子类又有子类 (例如 ViewResultBase 就有  ViewResult子类 和  PartialViewResult 这2种子类) 每个…
结论: ViewData 适用于 在一次请求中 传递数据  . 比如我们从 主Action 到 主视图, 然后在 主视图中  用 RenderAction 请求子Action的时候,就是算作 一次请求. 场景,我们在 主页面中,有一个  login登陆模块,  我们判断,如果 用户是登陆的,那么就显示 账号密码,  如果用户没有登陆, 则显示 登陆框 先来看看 我们的代码先运行  /home/index  这个Action 然后到了前台之后, 前台的CShtml中 直接使用 Html.Rendy…
一:主视图中使用Html.RenderPartial来调用子视图(注意,这里是直接调用子视图,而没有去调用子Action ) 在没有使用母版页的主视图中(也就是设置了layout为null的视图中),使用 Html.RenderPartial  可以调用分部视图(只调用视图,不调用action),并且使用 ViewData 来从主Action里面传值到主视图,或者是分布视图 最后生成的html如下   二:在主视图中按钮用ajax调用子action并在子action中使用return Parti…
8.列举ASP.NET MVC ActionResult的返回值有几种类型? 主要有View(视图).PartialView(部分视图).Content(内容).Json(Json字符串).Javascript(js脚本).File(文件)等几种类型.…
一:后台使用SelectListItem 传值给前台显示Select下拉框 我们先来看数据库的订单表,里面有3条订单,他们的用户id对应了 UserInfo用户表的数据,现在我们要做的是添加一个Order控制器,显示订单列表,并且在修改订单的时候,把用户的id 用 select 下拉框显示出来,并且可以提交修改数据   1.1 我们通过比较原始的方法,来把数据 传递到前台后,前台使用  循环来显示 select 并且显示是哪个元素被选中 我们在前台的cshtml中,使用 @model 命令 指定…
一:Razor视图引擎的核心原理 Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项 ,他是一个视图引擎 他的核心原理,就是当读取到 @符号的时候,就认为这是开始c#代码,并且 会自动寻找 {  } 作为开始和结束.但是当他不管在任何地方碰到<> 和 </>的时候,就不会当做是c#代码,而是当做html代码,我们会看到,在真正生成的 视图类代码里面  <span>xx</span>  会直接被 Response.Writ…
1:项目结构 2:每层添加对其他层的引用,这里我们把除了Web层之外的所有的层生成的文件都放到解决方案下的Library文件夹下,然后每个项目分别来引用里面的dll项目文件. 我们在Model项目上,右键属性->生成-> 在下面的输出里面,选择上一级的 Library文件夹 2.2 我们调整项目的生成顺序 ,在解决方案或者是任意项目上右键,选择 生成依赖项,调整各个项目的依赖,这样的目的就是调整项目的生成顺序. 注意,这里你选择依赖项,并没有给项目与项目之间增加了dll的引用,只是单纯的修改了…
以前一直没注意actionresult都能返回哪些类型的类型值(一直用的公司的内部工具类初始化进行返回的),今天跟大家分享一下(也是转载的别人的日志qaq). 首先我们了解一下对action的要求: 1.必须是一个public方法 2.必须是实例方法 3.不能被重载 4.必须返回ActionResult类型 下面是可以返回的类型: 1.返回ViewResult视图结果,将视图呈现给网页 public ActionResult About() { return View(); // 参数可以返回m…
当客户端请求 /Product/Index的时候, 如果在视图的根目录下有 _ViewStart.Cshtml 就会先执行这个,再去执行 Product文件夹下的Index视图, 如果Product文件夹下也有 _ViewStart.Cshtml文件,那么优先执行这个文件,再去执行 Index视图 根目录下的ViewStart中的数据,可以通过 Page.Title这样 或者是 PageData["key"] 这样传递给 下面的Product下的ViewStart视图,直至到目标 In…
  我们还是以订单表为例   1:系统推荐的方法,先查询出来,然后调用remove方法进行删除 我们删除id大于等于4的 static void Main(string[] args) { Delete(o => o.Id >= 4); //这里的参数是个 lambda 表达式 }   public static void Delete(Expression<Func<Order, bool>> whereLambda) { //先查询 List<Order>…