1.
创建表单,设置路径到 using(Html.BeginFrom( “方法”,“控制器”))
创建文本输入框 Html.TextBoxFor(x=x.name)
路由配置,添加,程序启动时,先在Globe.asax 全局文件中读取
RouteConfig.RegisterRoutes(RouteTable.Routes); 调用APP_start 里面的RouteConfig文件,
添加路由:可以设置默认的参数,访问这个路由时没有参数,不会报错。
ASP.NET 路由排除 二义性 的处方法:在定义路由 方法里面 规定命名空间!
二义性:在Models ,和控制器中的 命名为了 方便归类,一般是对应的 同名
XXX。cs 和 XXXController
public
class RouteConfig
{
public
static
void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller =
"Home", action =
"Index", id = UrlParameter.Optional },
namespaces: new[] { "MvcStudy.Controllers" }//规定命名空间 );
} }
控制器
所有的控制器都 基于 Controller 类,位于 System.Web.Mvc 空间,继承ControllerBase 类。
ControllerBase 实现 IController 接口的 Excute 方法,在路由器搜索到 控制器的之后,会调用 Excute 方法进入控制器处理。
ControllerBase 的6个属性:
ControllerContext 获取或设置控制器上下文
TempData 获取或设置 临时数据字典
ValidataRequest 获取或设置一个值 指示是否为该请求开启合法验证
ValueProvider 获取或设置控制器的值
ViewData 获取或设置视图数据的字典
ViewBag 获取动态字典
//=========ViewData 与ViewBag 用于视图 与控制器之间传值,
ViewData 是数据字典对象,可以把任何数据放入其中,并使用 键/值对 方式存取。
this.ViewData["key"]=value; //存值
在页面显示 <span> @ViewData["key"]</span>
**************在页面绑定对应控制器里面的ViewData 对象数据***************************
Html.DropDrownList("key") //一个下拉控件,绑定控制器数据
ViewBag是动态类型对象,增加任何数量字段 不需要不要强类型的检测。
//==========ViewData==ViewBag==的区别==========
ViewData绑定数据时,使用 键值对 的方式 : ViewData["key"] = value;
ViewBag 绑定数据时,使用的是对象 . 的形式: ViewBag.属性 = value;
//========TempData 用于 Action 执行期间传值。=======
TempDatas是一个字典类型对象,可以把任何数据 以 键值对方式存取。
它可以跨 控制器的方法 (action)传值,
Redirect
,RedirectToAction ,
RedirectToRoute 方法对当前操作重定向
View()方法