Asp.Net MVC之 自动装配、动态路径(链接)等

时间:2023-03-10 06:59:46
Asp.Net MVC之 自动装配、动态路径(链接)等

一、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
}