一、Model层

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace Mvc_Demo.Models
{
public class Person
{
public int Age { get; set; }
public string Name { get; set; }
public string Sex { get; set; }
}
}

二、控制器层

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Mvc_Demo.Models; namespace Mvc_Demo.Controllers
{
public class PersonController : Controller
{
//==================自定义方式的自动装配方法=========================
// GET: /Person/
//1、通过默认的get请求方式,执行这个行为,请求到AddPerson这个view页面,其才会展示出来
[HttpGet]//默认请求方式
public ActionResult AddPerson()
{
return View();
}
//2、在AddPerson这个view页面输入值以后,点击提交,因为指定了他们的提交方式为post方式,
//故提交以后,会执行此行为,然后显示AddPerson1页面,将数据进行展示出来
[HttpPost]
public ActionResult AddPerson(Person person)
{
ViewData.Model = person;
return View("AddPerson1");
}
//===============================单个值的自定义装配============================
[HttpPost]
public ActionResult Purple(string dd)
{
ViewBag.DD = dd;
return View("Purple");
}
}
}

三、视图(View)

1.处理视图

 @*引入命名空间*@
@using Mvc_Demo.Controllers;
@using Mvc_Demo.Models;
@model Mvc_Demo.Models.Person @{
ViewBag.Title = "AddPerson";
}
@* ========================自定义方式的自动装配================================= *@
<h2>AddPerson</h2>
@using (Html.BeginForm("AddPerson", "Person", FormMethod.Post))
{
<span>年龄:</span>
@Html.TextBoxFor(p=>p.Age)
<hr />
<span>姓名:</span>
@Html.TextBoxFor(p=>p.Name)
<hr />
<span>性别:</span>
@Html.TextBoxFor(p=>p.Sex)
<hr />
<input type="submit" name="Submit" value="提交" />
}
@* ========================单个值的自动装配================================ *@
@using (Html.BeginForm("Purple", "Person", FormMethod.Post))
{
@Html.TextBox("dd")
<input type="submit" name="name" value="提交哈" />
}
@* ===========================跳转链接============================== *@
@*链接跳转失败*@
<a href="@Url.Action("Purple", "Person")">跳转到AddPerson1页面</a>
<hr />
@Html.ActionLink("跳转到AddPerson1页面", "AddPerson1", "Person")
<hr />
@* ====================在指定位置输出值===================================== *@
@*在指定位置输出值*@
@Html.Raw("我是HTML帮助类方式输出")
@*在页面最顶端输出值*@
@{
Response.Write("我是Response方式输出");
}

2.显示视图(1)

 @using Mvc_Demo.Controllers;
@model Mvc_Demo.Models.Person @{
ViewBag.Title = "AddPerson1";
}
@* ========================自定义方式的自动装配================================= *@
<h2>AddPerson1</h2>
<span>年龄:</span>
<h1>@Model.Age</h1>
<hr />
<span>姓名:</span>
<h1>@Model.Name</h1>
<hr />
<span>性别:</span>
<h1>@Model.Sex</h1>
<hr /> @*当路由是通过动态规则方式动态生成时,通过这种方式会动态生成路径*@
@Html.ActionLink("跳转到AddPerson页面", "AddPerson", "Person")

3.显示视图(2)

 @model Mvc_Demo.Models.Person

 @{
ViewBag.Title = "Purple";
} <h2>Purple</h2>
@* ========================单个值的自动装配================================ *@
@{
//string str=Convert.ToString(@ViewBag.DD);
@*@Html.TextArea(str)*@
@ViewBag.DD
}

Asp.Net MVC之 自动装配、动态路径(链接)等的更多相关文章

  1. Asp.net MVC Razor视图模版动态渲染PDF,Razor模版生成静态Html

    Asp.net MVC Razor视图模版动态渲染PDF,Razor模版生成静态Html 1.前言 上一篇文章我开源了轮子,Asp.net Core 3.1 Razor视图模版动态渲染PDF,然后,很 ...

  2. ASP.NET MVC 文件上传和路径处理

    ASP.NET MVC 文件上传和路径处理总结 目录 文件的上传和路径处理必须解决下面列出的实际问题: 1.重复文件处理 2.单独文件上传 3.编辑器中文件上传 4.处理文章中的图片路径 5.处理上传 ...

  3. ASP.NET WebForm Form表单如何实现MVC那种“自动装配”效果呢?

    我们知道ASP.NET MVC有个强大的地方就是Form表单提交到action的时候,可以直接将Form的参数直接装配到action的参数实体对象中 比如 action方法 Register(User ...

  4. Asp.net MVC在View里动态捆绑压缩引用的js

    前言 Asp.net MVC 4以上版本多了BundleConfig.RegisterBundles方法,可以把要捆绑的脚本或样式进行捆绑压缩,以减少客户端的请求次数从而提高了客户端的访问速度. 问题 ...

  5. ASP.NET MVC 修改视图的默认路径(MVC2,MVC3)

    ASP.NET MVC2 修改视图的默认路径 步骤:1.编写继承自WebFormViewEngine的类,重写视图路径 2.在Application_Start()中添加语句: ViewEngines ...

  6. MVC参数自动装配

    在拿到一个类型的所有属性以及字段的描述信息后,就可以通过循环的方式,根据这些数据成员的名字去QueryString,Form,Session,Cookie读取所需的数据了. 就是遍历参数,然后用反射遍 ...

  7. ASP.NET MVC Autofac自动注入

    依赖注入容器有很多插件,我用过Unity和Autofac,这两个插件给我最明显的感觉就是Autofac很快,非常的快,毕竟是第三方开发的,而Unity相对而言性能比较稳定 下面附上Autofac自动注 ...

  8. ASP.NET MVC 中读取项目文件的路径

    MVC中获取某一文件的路径,来进行诸如读取写入等操作. 例:我要读取的文件是新生模板.doc,它在如下位置. 获取它的全路径:string path = HttpContext.Current.Ser ...

  9. ASP.NET MVC获取上传的路径

    刚才有网友问及,怎样获取<input type='file'>的值? Insus.NET测试了一下,在Inetnet Explor之下似乎没有问题,但是FireFox获取到的只是文件名. ...

随机推荐

  1. java8--异常处理(java疯狂讲义3复习笔记)

    try,catch,finally,throw,throws java将异常分为两种,Checked异常和Runtime异常. IndexOutOfBoundsException NumberForm ...

  2. <label>标签for属性

    label 元素不会向用户呈现任何特殊效果.不过,它为鼠标用户改进了可用性.如果您在 label 元素内点击文本,就会触发此控件.就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控 ...

  3. vim怎么把一个写的代码文件另存到任意文件夹里?

    比如你要保存到以下路径: D:\my_project\project001\ 那么有两个方法: 1. 直接保存 2. w D:\my_project\project001\xxx.xxx 3. 变更当 ...

  4. YTU 2432: C++习题 对象数组输入与输出

    2432: C++习题 对象数组输入与输出 时间限制: 1 Sec  内存限制: 128 MB 提交: 1603  解决: 1152 题目描述 建立一个对象数组,内放n(n<10)个学生的数据( ...

  5. Java中去除字符串中的所有空格

    JAVA中去掉空格     1. String.trim()    trim()是去掉首尾空格         2.str.replace(" ", ""); ...

  6. Masonry基本用法

    使用步骤: 1.导入框架 2.导入头文件,或者直接导入.pch文件中 //省略前缀 'max_'的宏: #define MAS_SHORTHAND // 自动装箱:自动把基本数据类型转化成对象,int ...

  7. Java 内存管理、JVM 工作原理与 Java 运行时系统

    Java 虚拟机规范中说明:所有的对象实例(all class instances)以及数组都要在堆上分配: the heap is the runtime data area from which ...

  8. 并不对劲的bzoj4199: [Noi2015]品酒大会

    传送门-> 又称普及大会. 这题没什么好说的……后缀自动机裸题……并不对劲的人太菜了,之前照着标程逐行比对才过了这道题,前几天刚刚把这题一遍写对…… 这题的输出和某两点相同后缀的长度有关,那么把 ...

  9. [Codeforces 507E] Breaking Good

    [题目链接] https://codeforces.com/contest/507/problem/E [算法] 首先BFS求出1到其余点的最短路 , N到其余点的最短路,记为distA[]和dist ...

  10. hdu5396(区间DP)

    题目意思: 给定一个表达式,运算符没有优先级,求不同顺序计算,所有可能的得到的结果之和. 由于运算符没有优先级,所以有多种顺序去计算,设d[i][j]表示[i,j]区间表达式通过不同顺序计算,所以可能 ...