Jor*_*rge 4 c# asp.net asp.net-mvc asp.net-mvc-3
我开发了一个编辑器模板,它采用布尔类型并创建一个下拉列表,将true和false默认值更改为Si和No.现在,当我部署应用程序时,我没有意识到boolean和Nullable<boolean>我的编辑器模板(boolean.cshtml)的名称相同并受到影响.现在我不想要这个,我想修改它的行为editorfor,只有当模型的数据类型Nullable<boolean>不是它的布尔值时.我怎么能处理这个?
@model Nullable<bool>
@{
var listItems = new[]
{
new SelectListItem { Value = "true", Text = "Si" },
new SelectListItem { Value = "false", Text = "No" }
};
}
@Html.DropDownListFor( model => model.Value, listItems)
Run Code Online (Sandbox Code Playgroud)
Inf*_*oop 14
您无法使用相同的编辑器模板阻止它们.但您可以在编辑器模板中处理它.你有:
ViewData.ModelMetadata.IsNullableValueType
Run Code Online (Sandbox Code Playgroud)
如果您阅读本文,您实际上可以看到默认模板用于在两个不同的渲染之间切换的内容.只是偷了它:
http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html
| 归档时间: |
|
| 查看次数: |
5503 次 |
| 最近记录: |