[原创]Asp.net MVC学习之路-001

简介: [原创]Asp.net MVC学习之路-001

控制器三个约定:


  1. 控制器命名规范:"NameController",以Controller结尾
  2. 控制器必须是非静态类
  3. 实现IController接口(多次继承)
    控制器里面的方法都被称为Action
    Views文件夹下面会根据Controller名新建若干个以Controller命名的文件夹,该文件夹下还能,只能新建一个文件夹“Shared”,以及一个系统生成的web.config。

添加视图:在Controller的方法名上右击添加视图


WebForm与Asp.net MVC请求页面的区别:



<b>webForm</b>请求的是一个aspx页面。 http://localhost/a.aspx

<b>Asp.net MVC</b> 请求地址,请求控制器里面的方法。http://localhost/Home/index

用户 > Controller-Action > ViewData数据-View

Action:

  1. 处理用户的请求,Request,Response
  2. 调用业务逻辑(Model BLL DAL)
  3. 把数据传递给View进行展示

ViewData[]从Controller向View传递数据

Action 如果没有指定(return View("index");)对应的视图来展示数据的话,默认是寻找跟Action同名的View进行展示。一般Action名与指定的视图同名。

前台表单代码

<form action="/UserInfo/ProcessUserInfo" method="post">
                <div class="form-group">
                    <label for="UserName">UserName</label>
                    <input type="text" class="form-control" name="txtName" id="UserName" placeholder="请输入用户名">
                </div>
                <div class="form-group">
                    <label for="Pwd">Password</label>
                    <input type="password" class="form-control" name="txtPwd" id="Pwd" placeholder="请输入密码">
                </div>
                <button type="submit" class="btn btn-default">Submit</button>
            </form>

从前台获取数据的四种方式


方式一

public ActionResult ProcessUserInfo()
        {
         string UserName = Request["txtName"];//与前台name同名。对于表单form,只有设置了 name 属性的表单元素才能在提交表单时传递它们的值。
                string UserPwd = Request["txtPwd"];
        return Content("OK" + "</br>" + UserName + "</br>" + UserPwd);
}

方式二

public ActionResult ProcessUserInfo(FormCollection collection)
        {
string str = collection["txtName"];
string pwd=collection["txtPwd"];
return Content("OK" + "</br>" + str+ "</br>" + pwd
}

方式三

public ActionResult ProcessUserInfo(string txtName,string txtPwd)//与前台name同名
{
    return Content("OK" + "</br>" + txtName + "</br>" + txtPwd)
}

方式四

public class Info
        {
            public string txtName { get; set; } //与前台name同名
            public string txtPwd { get; set; }
        }
public ActionResult ProcessUserInfo(Info userA)
        {
        return Content("OK" + "</br>" + userA.txtName,string + "</br>" + userA.txtPwd)
}

HtmlHelper



超链接的三种形式

超链接方式1

<a href="/Home/About">链接到About页面</a>
        <br/>

超链接方式2

这种方式避免了上面更改路由机制之后要更改所有的链接代码
        <br/>
        <a href=@Url.Action("About","Home")>链接到About</a>
        <br/>

超链接方式3

<br/>
        @Html.ActionLink("About页面","About","Home",null,new { style = "Color:green" ,@class="a


相关文章
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
41 0
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
29 0
|
1月前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css
5 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
99 5
|
3月前
|
XML 前端开发 定位技术
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
25 0
|
3月前
|
前端开发
.net core mvc获取IP地址和IP所在地(其实是百度的)
.net core mvc获取IP地址和IP所在地(其实是百度的)
124 0
|
3月前
|
前端开发 Java 应用服务中间件
快速上手:探索Spring MVC的学习秘籍!
快速上手:探索Spring MVC的学习秘籍!
|
3月前
|
前端开发 Java 数据库
MVC架构学习归纳总结(小傅哥の码场 学习专栏)
MVC架构学习归纳总结(小傅哥の码场 学习专栏)
20 0
|
5月前
|
设计模式 前端开发 Java
一篇文章让使你的Spring Mvc学习入门,还不来了解吗?
一篇文章让使你的Spring Mvc学习入门,还不来了解吗?
|
5月前
|
开发框架 自然语言处理 前端开发
基于ASP.NET MVC开发的、开源的个人博客系统
基于ASP.NET MVC开发的、开源的个人博客系统
52 0