Asp.net-MyFirstMVCProject详细解释

一个URL要求, ASP.NET MVC引擎将分析URL要使用Controller, 这个Controller(取而代之的是,真实的方法Controller的Action)从数据库或者其它数据源获取数据,通常这些数据是一个业务的模型类(Model). Controller将Model对象传递给页面(View),  页面显示在浏览器上。

mvc的工作原理例如以下图:

一、建立第一个MVCProject;

如图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlzZW55YW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

二、新建一个类增加Model:

在Models文件下增加一个新的类,命名为“ Login_BS”,用来推断登录是否成功。

如图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlzZW55YW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

代码例如以下:

<span style="font-family:Microsoft YaHei;font-size:12px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MyFirstMvcProject.Models
{
    public class Login_BS
    {
        public bool login(string username,string password)
        {
            if(username=="1"&&password=="1")
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}</span>

三、在Controller中新添加控制器:

如图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlzZW55YW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

代码例如以下:

<span style="font-family:Microsoft YaHei;font-size:12px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MyFirstMvcProject.Controllers
{
    public class LoginController : Controller
    {
        //
        // GET: /login/

        public ActionResult Index()
        {
            return View();
        }
        [AcceptVerbs(HttpVerbs.Post)]

        public void Index(string username, string password)
        {
            Models.Login_BS l_bs = new MyFirstMvcProject.Models.Login_BS();
            if (l_bs.login(username, password))
            {
                Response.Write("登陆成功,用户名称为:" + username);
            }
            else
            {
                Response.Write("登陆失败");
            }
        }
    }
}
</span>

四、添加视图:

在类LoginController中的方法Index()上单击右键,选择增加视图,如图:

五、改动“Index.aspx,”文件:

系统会在Views目录下加入Login目录,并在当中加入文件“Index.aspx”,改动文件内容。

如图:

代码例如以下:

<span style="font-family:Microsoft YaHei;font-size:12px;"><%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div>
        <form action="/login" method="post">
            <p>username:<input type="text" name="username" /></p>
            <p>密码:  <input type="password" name="password" /></p>
            <p>
                <input type="submit" value="登陆" /></p>
        </form>
    </div>
</body>
</html>
</span>

六、执行后输入username、密码,成功后会提示输入正确:

如图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlzZW55YW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlzZW55YW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-10-23 10:49:23

Asp.net-MyFirstMVCProject详细解释的相关文章

Android中多线程编程(四)AsyncTask类的详细解释(附源码)

Android中多线程编程中AsyncTask类的详细解释 1.Android单线程模型 2.耗时操作放在非主线程中执行 Android主线程和子线程之间的通信封装类:AsyncTask类 1.子线程中更新UI 2.封装.简化异步操作. 3.AsyncTask机制:底层是通过线程池来工作的,当一个线程没有执行完毕,后边的线程是无法执行的.必须等前边的线程执行完毕后,后边的线程才能执行. AsyncTask类使用注意事项: 1.在UI线程中创建AsyncTask的实例 2.必须在UI线程中调用As

我对CONTAINING_RECORD宏的详细解释

宏CONTAINING_RECORD的用处其实还是相当大的, 而且很是方便, 它的主要作用是: 根据结构体中的某成员的指针来推算出该结构体的指针! 下面从一个简单的例子开始说起: 我们定义一个结构体, 同时类型化: typedef struct{ int a; int b; int c; }ss; 这是一个很简单的结构体, 没什么特殊的, 稍微分析下该结构体: 结构体的大小(字节):4+4+4=12字节 成员a的偏移:0 成员b的偏移:4 成员c的偏移:8 我们用ss来定义一个变量: ss s

Atitit&#160;.jvm&#160;虚拟机指令详细解释

Atitit .jvm 虚拟机指令详细解释 1. 一.未归类系列A1 2. 数据mov系列2 2.1. 二.const系列2 2.2. 三.push系列2 2.3. ldc系列 该系列命令负责把数值常量或String常量值从常量池中推送至栈顶.3 2.4. 5.1.load系列A 该系列命令负责把本地变量的送到栈顶.3 2.5. 5.2.load系列B 该系列命令负责把数组的某项送到栈顶.4 2.6. 6.1.store系列A 该系列命令负责把栈顶的值存入本地变量.5 2.7. 6.2.stor

Sed命令的使用详细解释

Sed命令的使用详细解释 一:sed命令的简介 sed是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有改变,除非你使用重定向存储输出.Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等.     二:Sed的用法格式 Sed [options] 'scri

设计模式 - 迭代模式(iterator pattern) Java 迭代器(Iterator) 详细解释

迭代模式(iterator pattern) Java 迭代器(Iterator) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy 參考迭代器模式(iterator pattern): http://blog.csdn.net/caroline_wendy/article/details/35254643 Java的标准库(util)中包括迭代器接口(iterator interface), import java.util.Iterator; 继承

C语言 - 结构体(struct)比特字段(:) 详细解释

结构体(struct)比特字段(:) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26722511 结构体(struct)能够使用位字段(:), 节省空间, 例如以下面代码, 结构体a中的, 第一个变量x占用1个字符, y占用2个字符, z占用33个字符(越界); 可是sizeof()会自己主动补齐, 如x+y一共占用4个字节, z占用8个字节, 所以结构体占用12个字节; 当使用加法运算时, 会初始化为0; 代码

445port入侵详细解释

445port入侵详细解释   大约"445port入侵"内容445port入侵详细解释网站搜索许多其他的"445port入侵"内容 445port入侵,以前我们先来看看或445port早干嘛去了,成为侵入port呢?445port就是IPC 服务的默认port                                                            ipc$一 摘要 二 什么是 ipc$ 三 什么是空会话 四 空会话能够做什么 五 ip

关于javascript中静态成员和实例成员的详细解释

关于javascript中静态成员和实例成员的详细解释  在我们了解什么是静态成员和实例成员之前,我们首先来了解一下什么是实例? 实例就是由构造函数创建出来的对象. 例如案例中 p 就是实例: function Person() {}//  此函数为构造函数 var p=new Person();  // p为构造函数创建出来的对象 我们在讨论静态成员和实例成员时候,把函数当成构造函数, 把创建出来的对象称之为实例.在此明白了什么是实例,下面我们就可以说什么是静态  成员和实例成员了. 首先什么

cmd批处理转义字符%的详细解释

cmd批处理转义字符%的详细解释 在命令行中使用for时不需要双%,这源于命令解释器对命令行与批处理的处理方式不同. 1.%是个ESCAPE字符,通常将之译为转义字符,但也有更形象的译名脱逸字符.逃逸字符等.也就是说%不仅仅将与其相关的特定字符串转义并替换为特定字符串,而且自身也会被“脱逸”.而且类似于C语言中的转义字符"\",双%会转义并脱逸为单%,四%则脱为双%. 2.for本身是一个特殊的命令,类似于一个特化的命令解释器,因为它的功能实现需要执行多条语句,因此它必须也具有对命令行

[软考]挣值管理EVM详细解释及应用,实例讲解收集(信息系统项目管理师-成本管理)

开场白 由于最近工作很忙,挣值管理这部分早就看完了,就是没有时间整理,今天抽出时间整理好了发出来和大家一起学习.这里要记住英文缩写的意义及公式,注意实例中的问题使用哪个公式来解决,可以自己再多找些练习,熟能生巧. 文章由简入繁,由浅入深,再加上自己的理解,其中难免有纰漏,若路过此处的同行发现错误或有更好的解题思路,请不吝赐教. 挣值管理(Earned ValueManagement,EVM)项目的挣值管理是用与进度计划.成本预算和实际成本相联系的三个独立的变量,进行项目绩效测量的一种方法.它比较