现在的位置: 首页 > 综合 > 正文

MVC3 学习笔记1

2014年02月28日 ⁄ 综合 ⁄ 共 1908字 ⁄ 字号 评论关闭

 

--------------------------------------------------------------------------
--1.ViewBag
这个“东西”在 MVC 开发中很有用,是在 vs2010 中新增的语法,可以将 controller
中存入的值传递到页面供页面使用,类似 View(object model) 方法,使用实例如下。

在控制类中的写法
  public class UserController : Controller
  {
    public ActionResult UserName()
    {
      ViewBag.MyName = "草青工作室";
      ViewBag.MyAge = "18";
    }
  }

在 Aspx 页中调用
<%= ViewBag.MyName %>
<%= ViewBag.MyAge %>

在 razor(cshtml) 页中调用
@ViewBag.MyName
@ViewBag.MyAge  
 
-------------------------------------------------------------------------- 
--2.在 razor视图 中使用用户控件(.ascx)
用户控件位置:~\Views\Core\Frame\CommonView.ascx

在 Aspx 页中调用
<% Html.RenderPartial("~\Views\Core\Frame\CommonView.ascx") %>

在 razor(cshtml) 页中调用
@Html.RenderPartial("~\Views\Core\Frame\CommonView.ascx")

--------------------------------------------------------------------------
--3.Html.RenderAction()
MS的定义:调用指定子操作方法并在父视图中以内联方式呈现结果。
解    释:将一个请求的结果和当前页面合并起来,之后呈现给客户
注    意:方法调用的 action 必须标记 [ChildActionOnly] 特性

实例:请求 UserName
  public class UserController : Controller
  {
    [ChildActionOnly]
    public ActionResult UserName()
    {
      string content="";
      ...
      return Content(content);
    }
  }

在 Aspx 页中调用
<% Html.RenderAction("UserController", "UserName"); %>

在 razor(cshtml) 页中调用
@Html.RenderAction("UserController", "UserName")

它有多个重载,其中一个看到了比较有意思可以传递参数,如下。
  public class UserController : Controller
  {
    [ChildActionOnly]
    public ActionResult UserName()
    {
      // 获得 MyName 参数值的
      string content=ValueProvider.GetValue("MyName").RawValue;
      ...
      return Content(content);
    }
  }

在 Aspx 页中调用
<% Html.RenderAction("UserController", "UserName", new { MyName = "草青工作室" }); %>

在 razor(cshtml) 页中调用
@Html.RenderAction("UserController", "UserName", new { MyName = "'草青工作室'" })
 
--------------------------------------------------------------------------
--4.Html.RenderPartial()
MS的定义:使用指定的 HMTL 帮助器来呈现指定的分部视图。
解    释:将一个用户控件文件(ascx)和当前页面合并起来,之后呈现给客户

上面介绍过了, 2.在 razor视图 中使用用户控件(.ascx)

--------------------------------------------------------------------------

先记录这么多,这点儿东西看了后在开发 mvc 会大大提高变成灵活性!

抱歉!评论已关闭.