1. 首页
  2. .Net, MVC

ASP.NET MVC (三)——理解Asp.Net MVC的View(视图)

Controller是处理用户请求,并做出响应,通常情况下响应都是以显示在浏览器中,使用HTML代码,浏览器才可识别。HTML有图像,文本,输入控件等。通常称为用户界面的设计即UI层,在ASP.net MVC称为View。

实验二——深入理解View

在实验二中,创建一个简单的MVC应用,仅仅具有Controller和简单的字符串类型的返回值。让我们来了解MVC中的View部分吧。

Step1 –创建新的Action 方法

在TestController中添加新的Action 方法,如下:

public ActionResult GetView()
{ 
   return View("MyView");
}

Step 2 创建View

1 右击上述创建的Action 方法,选择“添加View”

2 在添加View的对话框中输入View名称“MyView”,取消选择“使用布局”的复选框,点击添加。

资源管理器重的Views/Test文件夹中会添加一个新的View文件。

Step3 在View中添加内容

打开MyView.cshtml 文件,并添加以下内容:

@{Layout = null;}
<!DOCTYPE html>
<html><head><meta name="viewport" content="width=device-width" />
<title>MyView</title>
</head><body>Welcome to MVC 5 Step by Step learning
</body></html>

Step 4. 运行 按F5键运行应用

实验二:Q&A

1. 为什么View会放在Test的文件夹中?

View是与放置在特定目录下的Controller相关。这个特定文件夹是以”ControllerName”命名的,并且放在View文件夹内

2. 在多个控制器中无法重用View吗?

当然可以,我们需要在将这些文件放在特定的Shared文件夹中。将View 放在Shared文件夹中所有的Controller都可用。

3. 单个Action 方法中可引用多个View吗?

可以,ASP.NET MVC的view和Controller不是严格的匹配的,一个Action Method可以引用多个view,而一个View也可以被一个Action方法使用如下代码所示:

public ActionResult GetView()
{
    if(Some_Condition_Is_Matching)
   { 
      return View("MyView");
    }
    else
   {
      return View("YourView");
    }
}

4. View函数的功能是什么?

创建 ViewResult 对象将会渲染成视图来给用户反馈

  • ViewResult 创建了ViewPageActivator 对象
  • ViewResult 选择了正确的ViewEngine,并且会给ViewEngine的构造函数传ViewPageActivator对象的参数
  • ViewEngine 创建View类的对象
  • ViewEngine 调用View的RenderView 方法

5. ActionResult和 ViewResult的关系是什么?

ActionResult是抽象类,而ViewResult是ActionResult的多级孩子节点,多级是因为ViewResult是ViewResultBase的子类,而ViewResultBase是ActionResult的孩子节点。

6. 什么是ContentResult?

ViewResult是HTML响应而ContentResult是标准的文本响应,仅返回字符串类型。区别就在于ContentResult是ActionResult的子类。

评分 0, 满分 5 星
0
0
看完收藏一下,下次也能找得到
  • 版权声明:本文基于《知识共享署名-相同方式共享 3.0 中国大陆许可协议》发布,转载请遵循本协议
  • 文章链接:http://www.yhy0.com/net_20160711_328.html [复制] (转载时请注明本文出处及文章链接)
上一篇:
:下一篇