zoukankan      html  css  js  c++  java
  • 第一个简单的MVC页面

    准备工作: 安装vs2008,vs2008sp1, 安装asp.net mvc 1.0

    上面都完成后就可以开始工作了

    本页面是说明怎么用mvc的方式把数据展示出来,内容非常之简单,也是我mvc第一步,好了,下面开始

    1、建立mvc项目(这个网上太多了,这里跳过),不需要测试项目,建好后的项目如下
      

     里面有Controllers,Models,Views文件夹,好像是系统必须的,而且名字固定。 Controllers文件夹下面放置都是控制器,也是业务逻辑的地方;Models文件夹下面是实体类,必须能泛化;views就是装页面展示的地方了,下面的文件夹和控制器类一一对应。

    2、添加model类。在Models上面点击右键,添加UserModels类,该类作为数据展示的实体类

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

    namespace MvcApp.Models
    {
        public class UserModels
        {
            public int UserID { get; set; }
            public string UserName { get; set; }
            public string EMail { get; set; }
            public string Address{ get; set; }
        }
    }
     

    3、添加控制器(控制器是mvc的核心,一切都从控制器开始,包括view展示业、务逻辑处理等操作)。 在Controllers上面点击右键添加—Controller,命名为UserController(继承自System.Web.Mvc.Controller)。添加完成后默认只有一个方法

    UserControllerpublic ActionResult Index() // 好像只能返回ActionResult
          我们建立一个方法,返回UserModel列表,通过Index方法返回到view层
    UserController
    UserController
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using System.Web.Mvc.Ajax;
    using MvcApp.Models;
    using System.Data;

    namespace MvcApp.Controllers
    {
        
    public class UserController : Controller
        {
            
    public ActionResult Index()
            {
                ViewData["title"= "用户列表";
                List<UserModels> UList = GetUserList();

                
    return View(UList); // 只能是泛型数据,好像也可以是datatable 还没有搞清楚
            }

            
    private List<UserModels> GetUserList()
            {
                List<UserModels> ulist = new List<UserModels>();
                
    for (int i = 01; i < 11; i++)
                {
                    UserModels model = new UserModels();
                    model.UserID = i;
                    model.UserName = "" + i.ToString();
                    model.EMail = "email:" + i.ToString();
                    model.Address = "address:" + i.ToString();
                    ulist.Add(model);
                }
                
    return ulist;
            }
        }
    }

    4、添加view层。 本层只有html,没有viewstate,没有服务器控件

         在Index上点击右键,Add View , 此处选择list模式

       点击add会自动在view/user/文件夹下面添加index.aspx(默认情况下会根据控制器名称在view下生成相应的文件夹),并根据选择的不同模式生成不同的代码。aspx页面通过ViewData传递数据,通过实现IEnumerable类,循环生成html代码,可以用htmlHelper生产控件,也可以直接写html控件

    Index.aspx
    <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcApp.Models.UserModels>>" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
        Index
    </asp:Content>

    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

        
    <h2><%= ViewData["title"%></h2>

        
    <table>
            
    <tr>
                
    <th></th>
                
    <th>
                    UserID
                
    </th>
                
    <th>
                    UserName
                
    </th>
                
    <th>
                    EMail
                
    </th>
                
    <th>
                    Address
                
    </th>
            
    </tr>

        
    <% foreach (var item in Model) { %>
        
            
    <tr>
                
    <td>
                    
    <%= Html.ActionLink("Edit""Edit"new { /* id=item.PrimaryKey */ }) %> |
                    
    <%= Html.ActionLink("Details""Details"new { /* id=item.PrimaryKey */ })%>
                
    </td>
                
    <td>
                    
    <%= Html.Encode(item.UserID) %>
                
    </td>
                
    <td>
                    
    <%= Html.Encode(item.UserName) %>
                
    </td>
                
    <td>
                    
    <%= Html.Encode(item.EMail) %>
                
    </td>
                
    <td>
                    
    <%= Html.Encode(item.Address) %>
                
    </td>
            
    </tr>
        
        
    <% } %>

        
    </table>

        
    <p>
            
    <%= Html.ActionLink("Create New""Create"%>
        
    </p>

    </asp:Content>

    上面例子中还生成了create和edit方法链接,暂时不用

    5、F5运行程序,会打开首页,把地址改为user/index(为什么不是index.aspx,可以查看global中的url重写) 看到我们刚才建立的页面


    到此为止,一个基于mvc的小页面就建立了。 后续添加edit和create方法

  • 相关阅读:
    Linux:文件解压与压缩
    Linux:环境变量
    Linux:Vim
    Linux:目录&文件基本操作
    Linux:文件权限
    Linux:用户&用户组操作
    Linux:Shell 常用通配符
    Linux:常用shell快捷键
    Linux:Linux 重要人物
    架构:层次化
  • 原文地址:https://www.cnblogs.com/freeton/p/1622437.html
Copyright © 2011-2022 走看看