ASP.NET MVC 中的View介绍(1)

ASP.NET MVC View 介绍

 

Asp.net MVC 的默认View

l         WebForm中的页面模型

  -.aspx:页面内容的主体

  -.master:可视为模板框架

  -.ascx:局部视图(partial view)

l         继承System.Web.Mvc.ViewPage

WebForm页面模型还保持了其原有的处理方式,只是一些环境部满足了,如postback环境。在MVC框架中没有.aspx.cs文件。

   

View 的类型

l         弱类型ViewData

-View直接继承ViewPage

-ViewData为一个字典

-Dictionary<string,object>

-使用时往往需要在Code Behind里进行辅助

l         强类型

  -View继承ViewPage<TViewData>

  -ViewData则变为强类型TViewData

  -ViewUserControl<>,ViewMasterPage

生成HTML的方式

l         内联脚本方式

  -for{}

  -foreach{}

l         使用控件

  -Repeater

  -ListView

l         使用辅助方法

 

好了,费话少说,下面我将做一个例子,通过例子来说明View的具体用法。

步骤一:创建一个MVC项目。(可参考前面的)创建好的Mvc2的项目如图1,这是ASP.NET-MVC2默认创建的。

        https://p-blog.csdn.net/images/p_blog_csdn_net/huang_dannier/EntryImages/20091023/1633919148325156250.PNG

 

1  ASP.NET-MVC2默认创建

    首先,我们先不忙动手,看看它的默认项。打开Controllers下的HomeController.cs文件,我Copy一下Index方法

public ActionResult Index(){

            ViewData["Message"] = "Welcome to ASP.NET MVC!";   

            return View();

        }

  Copy Views/Home/Index.aspx的一段代码

<h2><%= Html.Encode(ViewData["Message"]) %></h2>

从这里我们看得出,它使用了一个弱类型的ViewData来存储和传递值,我们可以把这个ViewData当作字典来使用。在页面中使用时,一般要对这个值进行编码,然后输出。

弱类型的View和强类型的View

弱类型的View 使用的是一个Dictionary作为它的ViewData,KeyValue键值对的方式来访问数据的。强类型的View,你必须创建一个强类型的类型或者使用框架中已有的类型。使用强类型的View,可以有很好的IDE的支持,如代码提示等。

辅助方法:HtmlHelper

l         BeginForm & EndForm

l         ActionLink

l         Button

l         CheckBox

l         Encode

l         Image,etc.

辅助方法:UrlHelper

l         Action

l         Content

l         Encode

l         RouteUrl

l         etc.

我们主要看ActionLink的用法,因为它使用比较广泛,比较常用。

1.HomeController中加入Link方法

public ActionResult Link(){

            return View();

       }

1.     Views/Home文件夹中添加Link View,并输入如下代码

        <h2>Link Test1</h2>

        <%= Html.ActionLink("Go back to Index","Index") %><br />

        <h2>Link Test2</h2>

        <%= Html.ActionLink("Go back to Index with id=1", "Index", new {id=1})%><br />

        <h2>Link Test3</h2>

 <%= Html.ActionLink("Go to special page","About","Home")%><br />

 

Test1:这个是最常用的了,html.Action(链接文本,Controller中的Action),这些都会有代码提示的。

Test2:将链接到指定Id Index

Test3:链接到指定ControllerAction

ActionLink总共有10个重载方法,这里只做这些测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Daniel的技术博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值