没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
全文可编辑 word 文档 页眉与背景水印可删除
1
ASP.NET 预定义模板介绍
一、 实例演示:通过模板将布尔值显示为 RadioButton
在默认的情况下,不论是对于编辑模式还是显示模式,
一个布尔类型的属性值总是以一个 CheckBox 的形式呈现出
来。我们创建如下一个表示员工的类型 Employee,它具有一
个布尔类型的属性 IsPartTime 表示该员工是否为兼职。
public class Employee
{
[DisplayName("姓名")]
public string Name { get; set; }
[DisplayName("部门")]
public string Department { get; set; }
[DisplayName("是否兼职")]
public bool IsPartTime { get; set; }
}
如 果 我 们 直 接 调 用 HtmlHelper<TModel> 的
EditorForModel 方法将一个 Employee 对象显示在某个将
Employee 类型作为 Model 的强类型 View 中,下图体现了默
认的呈现效果。我们可以看到表示是否为兼职的 IsPartTime
属性对应着一个 CheckBox。
全文可编辑 word 文档 页眉与背景水印可删除
2
现在我们希望的是将所有布尔类型对象显示为两个
RadioButton,具体的显示效果如下图所示。那么我们就可
以通过创建一个 Model 类型为 Boolean 的 View 来创建一个
模板,使之改变所有布尔类型对象的默认呈现效果。
由于我们需要改变的是布尔类型对象在编辑模式下的
呈现形式,所以我们需要将作为模板的分布 View 定义在
EditorTemplates 目 录 下 , 这 个 目 录 可 以 存 在 于 Views/
Shared 下,也可以存在于 Views/{ControllerName}下。由
于 ASP.NET MVC 是采用数据类型作为匹配条件来寻找对应的
模板的,所以我们需要将分部模板 View 命名为 Boolean。下
全文可编辑 word 文档 页眉与背景水印可删除
3
面的代码片断体现了这个分部试图的整个定义,我们通过调
用 HtmlHelper 的 RadioButton 方 法 将 两 个 布 尔 值
(True/False)映射为对应的 RadioButton,并且采用<table>
来布局。
@model bool
<table>
<tr>
<td>@Html.RadioButton("",true,Model)是</td>
<td>@Html.RadioButton("",false,!Model)否</td>
</tr>
</table>
值得一提的是,我们没有指定 RadioButton 的名称,而
是指定一个空字符串,Html 本身会对其进行命名,而命名的
依据就是本章介绍的核心:Model 元数据。Employee 的
IspartTime 属性呈现在界面上对应的 HTML 如下所示,我们
可以看到两个类型为 radio 的<input>元素的 name 被自动赋
上了对应的属性名称。美中不足的是它们具有相同的 ID,如
果希望让 ID 具有唯一性,可以对模板进行更加细致的定制。
<div class="editor-label"><label
for="IsPartTime">是否兼职</label></div>
<div class="editor-field">
<table>
全文可编辑 word 文档 页眉与背景水印可删除
4
<tr>
<td><input checked="checked" id="IsPartTime"
name="IsPartTime" type="radio" value="True" .../>是
</td>
<td><input id="IsPartTime" name="IsPartTime"
type="radio" value="False" />否</td>
</tr>
</table>
</div>
二、预定义模板
上面我们介绍如何通过 View 的方式创建模板进而控制
某种数据类型或者某个目标元素最终在 UI 界面上的 HTML 呈
现方式,实际上在 ASP.NET MVC 的内部还定义了一系列的预
定义模板。当我们调用 HtmlHelper/HtmlHelper<TModel>的
模板方法对 Model 或者 Model 的某个成员进行呈现的时候,
系统会根据当前的呈现模式(显示模式和编辑模式)和 Model
元数据获取一个具体的模板(自定义模版或者预定义模版)。
由于 Model 具有显示和编辑两种呈现模式,所以定义在
ASP.NET MVC 内部的默认模版分为这两种基本的类型。接下
来我们就逐个介绍这些预定义模版以及最终的 HTML 呈现方
式。
EmailAddress
剩余23页未读,继续阅读
资源评论
mmoo_python
- 粉丝: 0
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功