八:模板页

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

目录一:重载方法的调用

二:数据的传递

三:生成控件

四:显示加载视图

五:强类型视图

六:@Response.Write() 和 @Html.Raw()区别

七:视图中字符串的输入

八:模板页

一:重载方法的调用同一个控制器内的同名方法调用,可以用HttpGet 和HttpPost区分。

[HttpGet]publicvoidrequest(intid =0)

{

Response.Write("get 请求成功~");

}

[HttpPost]publicvoidrequest(Models.Classes c =null)

{

Response.Write("post 请求成功~取到值:"+ c.CName +""+c.CImg);

}

二:数据的传递控制器向视图传递数据的方法:

1.ViewBag 2.ViewData 3.TempData 4.Model

TempData 不允许添加重复的 key

后台的赋值:

//1.ViewBagViewBag.bag ="ViewBagbag";//2.ViewDataViewData.Add("key","viewdata");//3.TempDataif(!TempData.Keys.Contains("temp"))

TempData.Add("temp","tempdata");//不能重复 添加 相同的 键//4.ModelModels.Classes cl =newModels.Classes() { CName ="model name"};//数据returnView(cl);

前台的取值:

ViewBag : @ViewBag.bag<

br/>ViewData : @ViewData["key"]<

br/>TempData : @TempData["temp"]<

br/>强类型视图: @Model.CName<

br/>

这里要说的是,Model 类型的值 其实等效于 ViewData.Model

//4.ModelViewData.Model =newModels.Classes() { CName ="ViewData.Model"};//等效于Models.Classes cl =newModels.Classes() { CName ="model name"};//数据returnView(cl);

三:生成控件前台视图 可以 通过 @Html.DropDownList 绑定后台ViewData数据 生成下拉框控件

后台代码:

ViewData.Add("myselect",newList<SelectListItem>() {newSelectListItem() { Text ="值2", Value ="zhier"},newSelectListItem() { Text ="值1", Value ="zhiyi"}

});

前台视图:

生成下拉框控件:@Html.DropDownList("myselect", "值一")

网页源码:

<selectid="myselect"name="myselect"><optionvalue="">值一</option><optionvalue="zhier">值2</option><optionvalue="zhiyi">值1</option></select>

四:显示加载视图视图加载可以分为 默认加载与控制器同名的 视图, 也可以显示加载自己指定的 视图。

publicActionResult setData()

{returnView();//加载默认 ActionResult 方法 同名的 视图 setData.cshtml//return View("Index");//显示加载 Index.cshtml 视图 注意:不要带后缀 .cshtml}

五:强类型视图在视图页面 定义 model 强类型 ,这样可以方便 编译器 给出 只能提示 ,仅此而已。

@model _1MVC学习.Models.Classes

强类型视图: @Model.CName

六:@Response.Write() 和 @Html.Raw()区别前台:

Html.Raw:

@Html.Raw("Html.Raw")<

br/>Response.Write: 这里输出到最上面了

@{

Response.Write("Response.Write输出~");

}

页面源码:

Response.Write输出~<!DOCTYPE html><html><head><metaname="viewport"content="width=device-width"/><title>setData</title></head><body><div>Html.Raw:

Html.Raw<

br/>Response.Write: 这里输出到最上面了

七:视图中字符串的输入在视图页面Razor语法 输入 “纯”字符串 方法:

1. <text>标签 2.@:

@{<text>字符串一</text>}<

br/>字符串二<

br/>@{

@:字符串三

}

页面源码没有任何标签 包住

字符串一<

br/>字符串二<

br/>字符串三

八:模板页在添加视图的时候 选择 勾选 使用布局或模板页

使用了模板页的视图:

@{

//标题

ViewBag.Title = "mby";

}<h2>我使用了模板页</h2>@*

这里是注释

@section 可以指定使用哪个“部分” 对应 模板页 的位置 @RenderSection("hhh", required: false)

required 是否为必须填入

除了 @section 的其余部分 全部填充到 模板页的 @RenderBody() 位置

*@

@section hhh{

我只是一个小坑而已啦~~~

}

模板页代码(_Layout.cshtml):

<!DOCTYPE html><html><head><metacharset="utf-8"/><metaname="viewport"content="width=device-width"/><title>@ViewBag.Title</title></head><body><h1>模板页</h1>@RenderBody()

@RenderSection("hhh", required: false)</body></html>

说明:此类文章仅供本人学习记录使用。如有2B的错误,欢迎指出。不喜勿喷!

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航