MVC 【ASPX视图引擎】

新建项目----ASP.NET MVC 4 Web 应用程序------选择模板(空)、视图引擎(ASPX)

1、认识控制器Controller

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

namespace MVC1.Controllers    //命名空间
{
                    //控制器名称         //继承Controller
    public class HomeController : Controller
    {

        //action 动作             每一个动作决定你要干什么(方法)   ActionResult返回房类型
        public string Index()
        {
            return "你好!世界";
        }      

    }
}

用到模型数据时需要引用命名空间

using   项目名.Models

2、认识模型Model

LinQ 放在model里面,

3、认识视图 View

在返回视图的动作中右键添加视图

只有在 控制器中 ActionResult 类型的动作中才可以有视图
        public ActionResult Index()
        {
            return View();
        }

用到模型数据时需要引用命名空间(最上方)

    <% @ Import Namespace ="mvc2.Models"  %>

引入      命名空间             项目名.模板名

案例分析:

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

namespace mvc2.Models
{
    public class UsersData
    {
        DataClasses1DataContext con = new DataClasses1DataContext();
        public List<Users> SelectAll()
        {
            return con.Users.ToList();
        }

        public bool Insert(Users u)
        {
            bool ok = false;
            try
            {
                con.Users.InsertOnSubmit(u);
                con.SubmitChanges();
                ok = true;
            }
            catch { }

            return ok;
        }

        public bool DeleteUser(string ids)
        {
            bool ok = false;

            Users u = con.Users.Where(r => r.Ids.ToString() == ids).FirstOrDefault();
            if (u != null)
            {
                con.Users.DeleteOnSubmit(u);
                con.SubmitChanges();
                ok = true;
            }

            return ok;
        }

        public Users SelectUser(string ids)
        {
            return con.Users.Where(r => r.Ids.ToString() == ids).FirstOrDefault();
        }

    }
}

UsersData

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

namespace mvc2.Controllers
{
    public class HomeController : Controller
    {
        //展示
        public ActionResult Index()
        {
            return View();
        }

        //添加视图
        public ActionResult Insert()
        {
            return View();
        }

        //添加计算
        public ActionResult Insert1(string username, string password, string nickname, string sex, string birthday, string nation)
        {
            Users u = new Users();
            u.UserName = username;
            u.PassWord = password;
            u.NickName = nickname;
            u.Sex = Convert.ToBoolean(sex);
            u.Birthday = Convert.ToDateTime(birthday);
            u.Nation = nation;

            bool ok = new UsersData().Insert(u);
            Session["InsertOK"] = ok;

            return RedirectToAction("Index", "Home");
                      //重定向    (  动作名 ,  控制器名 )
        }

        //删除
        public ActionResult Delete(string id)
        {
            bool ok = new UsersData().DeleteUser(id);

            return RedirectToAction("Index");
        }

        //修改
        public ActionResult Update(string id)
        {
            Users u = new UsersData().SelectUser(id);  //根据id查询出u

            ViewBag.hehe = u;       //试图数据包,传递数据

            return View();
        }

    }
}

控制器

--删除,不需要视图展示,直接在动作上 计算

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<%@ Import Namespace="mvc2.Models" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div>
        <% if (Convert.ToBoolean(Session["InsertOK"]) == true)
           {%>

        <script type="text/javascript">
            alert(‘添加成功!‘);

        </script>
        <%
               Session["InsertOK"] = null;
           } %>

        <table style="width: 100%; text-align: center; background-color: navy;">
            <tr style="color: white;">
                <td>用户名</td>
                <td>密码</td>
                <td>昵称</td>
                <td>性别</td>
                <td>生日</td>
                <td>民族</td>
                <td>操作</td>
            </tr>
            <%
                List<Users> ulist = new UsersData().SelectAll();

                foreach (Users u in ulist)
                {
            %>
            <tr style="background-color: white;">
                <td><%=u.UserName %></td>
                <td><%=u.PassWord %></td>
                <td><%=u.NickName %>同学</td>
                <td><%=u.Sex.Value?"男":"女" %></td>                       <%--.value 数据转换--%>
                <td><%=u.Birthday.Value.ToString("yyyy年MM月dd日") %></td>
                <td><%=u.UserNation.NationName %></td>
                <td>
                    <a href="Home/Update/<%=u.Ids %>">修改</a> |
                    <a href="Home/Delete/<%=u.Ids %>">删除</a>

                </td>
            </tr>
            <%
                }
            %>
        </table>
        <input type="button" value="添加" onclick="window.open(‘Home/Insert‘, ‘_blank‘);" />

    </div>
</body>
</html>

主展示视图

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>Insert</title>
</head>
<body>
    <div>
        <h1>添加用户</h1>

        <form action="Insert1" method="post">  <%--表单--%>
                 <%-- 提交到哪     提交方式--%>

            用户名:
        <input type="text" name="username" /><br />
            密码:
        <input type="text" name="password" /><br />
            昵称:
        <input type="text" name="nickname" /><br />
            性别:
        <input type="text" name="sex" /><br />
            生日:
        <input type="text" name="birthday" /><br />
            民族:
        <input type="text" name="nation" /><br />
            <input type="submit" value="保存" />

        </form>

    </div>
</body>
</html>

添加——用表单提交

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<%@ Import Namespace="mvc2.Models" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>Update</title>
</head>
<body>

    <h1>修改用户</h1>

    <%  Users u = ViewBag.hehe;  %>
                        <%-------------将传进来的数据取出--%>

    <form action="Update1" method="post">
        用户名:                                       <%-----------绑定数据--%>
        <input type="text" name="username" value="<%=u.UserName %>" /><br />
        密码:
        <input type="text" name="password" value="<%=u.PassWord %>" /><br />
        昵称:
        <input type="text" name="nickname" value="<%=u.NickName %>" /><br />
        性别:
        <input type="text" name="sex" value="<%=u.Sex %>" /><br />
        生日:
        <input type="text" name="birthday" value="<%=u.Birthday %>" /><br />
        民族:
        <input type="text" name="nation" value="<%=u.Nation %>" /><br />
        <input type="submit" value="保存" />

    </form>

</body>
</html>

修改——表单提交

ViewBag 传值

ViewBag.变量=值

ViewBag.a=u;                            --  动作中传

<% Users u = ViewBag.a %>      -- 视图中接收

可以传任何类型的值,只能在本视图中传值,

时间: 2024-11-06 07:06:56

MVC 【ASPX视图引擎】的相关文章

2014-07-29 浅谈MVC框架中Razor与ASPX视图引擎

今天是在吾索实习的第15天.随着准备工作的完善,我们小组将逐步开始手机端BBS的开发,而且我们将计划使用MVC框架进行该系统的开发.虽然我们对MVC框架并不是非常熟悉,或许这会降低我们开发该系统的效率,但是我们可以通过边学边做的方式来实现其开发的.这不仅便于我们日后对系统的管理与维护,而且还给我们带来一个学习的动力与实践的地方. 但我们在创建一个基于MVC框架的项目时,就遇到一些问题了.那就是MVC的视图引擎是有两种的,一种是Razor,会以cshtml后缀的文件作为视图文件:另一种是ASPX,

ASP.NET MVC 对于视图引擎的优化

我经常使用asp.net MVC框架来做网站.总的来说,MVC框架是一个非常优秀的框架.相对于曾经的web form模式,我个人感觉分工更加合理思路也更加清晰,但是交给开发人员的工作也相对变多了. 当使用标准配置的时候在新建了控制器,还没有建视图的时候,运行网站,访问这个我们可以看到 因此我们可以判断,默认的视图引擎首先加载的顺序如上图所示 ~/Views/Home/Index.aspx~/Views/Home/Index.ascx~/Views/Shared/Index.aspx~/Views

MVC ViewEngine视图引擎解读及autofac的IOC运用实践

MVC 三大特色  Model.View.Control ,这次咱们讲视图引擎ViewEngine 1.首先看看IViewEngine接口的定义 namespace System.Web.Mvc { public interface IViewEngine { ViewEngineResult FindPartialView(ControllerContext controllerContext, string partialViewName, bool useCache); ViewEngin

ASP.NET MVC Razor视图引擎攻略

--引子 看下面一段MVC 2.0的代码. <%if (Model != null){%> <p><%=Model%></p><%}%><%else{%> //Do something<%}%> 我们站在一个读者的立场上来看,”<% %>“这种标记C#代码的方法是十分蛋疼的. 如果写这段代码的人没有良好的缩进和对齐习惯的话,一段逻辑较为复杂的代码就会堆砌着杂乱无章的"<%“和"%>

MVC Razor视图引擎

Razor 不是编程语言.它是服务器端标记语言. Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法 当网页被写入浏览器时,基于服务器的代码能够创建动态内容.在网页加载时,服务器在向浏览器返回页面之前,会执行页面内的基于服务器代码.由于是在服务器上运行,这种代码能执行复杂的任务,比如访问数据库. Razor在减少代码冗余.增强代码可读性和VS智能感知方面,都有着突出的优势. Razor一经推出就深受所有ASP.Net开发者的喜爱. Razor 使

ASP.NET MVC Razor 视图引擎

. 使用 @ 字符将代码添加到页面中.正如传统的aspx视图的<% %>相同.    下面代码是介绍单语句块.内嵌代码块.多行语句块 1 <!-- 简单块 声明两个变量--> 2 @{int num = 10;} 3 @{string str = "hello cnblogs";} 4 <!-- 内联表达式 输入刚才声明的两个变量--> 5 <p>刚才声明的整形的值为: @num</p> 6 <p>刚才声明的字符型

Mvc Razor视图引擎基础

<1> @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <div> @ViewData["time"

Asp.Net MVC Razor视图引擎与My97DatePicker插件的结合

1 using System; 2 using System.Collections.Generic; 3 using System.Runtime.CompilerServices; 4 using System.Linq.Expressions; 5 6 namespace System.Web.Mvc 7 { 8 /// <summary> 9 /// Extended the HtmlHelper for Calendar 10 /// </summary> 11 publ

MVC Razor视图引擎的入门

首先我们来说说他的给我们开发者带来那些好处吧: Razor语法易于输入,易于阅读,微软当时是这样定义的:简洁,富有表现力和灵活性,支持所有文本编辑器,强大的智能提示功能,单元测试. Rozor文件类型 RazorC#中是  .csHtml Razor的标识符 "@" @foreach(var album in Model.Albums) { <li>@album </li> }