使用 Razor,如何使所有内容变为“bool”?属性在详细信息页面上显示为是/否/未设置? [复制]

2024-01-08

这是到目前为止我的页面代码:

@model TennisClub.Models.ClubMember
@{
    ViewBag.Title = "Details";
}
<h2>
    Details
</h2>
<fieldset>
    <legend>ClubMember</legend>
    @Html.DisplayForModel()
</fieldset>
<p>
    @Html.ActionLink("Edit", "Edit", new { id = Model.Id }) |
    @Html.ActionLink("Back to List", "Index")
</p>

对于所有可为空的布尔值 (bool?)在我的模型中,这会显示一个带有“未设置”、“真”或“假”的暗淡选择列表。我希望它只是纯文本:“未设置”、“是”或“否”。

我怎样才能最轻松地实现这一目标?我希望这种风格在我的网站上具有全局性。

Edit

只是尝试根据马克的答案制作一个模板,但详细信息页面看起来完全一样。

我创建了一个 bool.cshtml 文件并将其放置在以下文件夹中:

[项目文件夹]/视图/共享/显示模板

这是我的布尔.cshtml目前的模板:

@model bool?

@if (Model == null)
{
    <text>Not Set</text>
}
else
{
    if (Model.Value)
    {
        <text>Yes</text>
    }
    else
    {
        <text>No</text>
    }
}

这似乎对我的详细信息页面没有任何影响。

知道我做错了什么吗?

Edit 2

这是我的模型类:

public class ClubMember
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string EmailAddress { get; set; }
    public string PhoneNumber { get; set; }
    public string PhoneType { get; set; }
    public bool? CanPlayDays { get; set; }
    public bool? CanPlayEvenings { get; set; }
    public bool? CanPlayWeekends { get; set; }
    public string Role { get; set; }
}

您可能想要覆盖默认模板。简而言之,在视图文件夹下,您将创建一个“DisplayTemplates”文件夹和一个“EditorTemplates”文件夹。一旦你有了这个,你就可以创建一个Boolean.cshtml文件在模型所在的每个文件中bool?。然后您就可以根据显示选项做任何您想做的事情。这将改变一切bool?模型字段渲染。

这是我多次引用的博客文章来帮助我解决这个问题。http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html

更新:请注意,记住处理null案件。我过去忘记这样做了,这让我很痛苦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Razor,如何使所有内容变为“bool”?属性在详细信息页面上显示为是/否/未设置? [复制] 的相关文章

  • Sendgrid System.ArgumentException:未知元素:html

    我刚刚将以下软件包更新到最新版本 a SendGrid SmtpApi 更新至 1 3 1 b SendGrid 更新至 6 0 突然间 WebTransport Deliver 方法不再存在 没问题 我已切换到 DeliverAsync
  • 限制实体框架中子实体的数量

    底线在前 有没有一种简洁的方法可以限制可以属于实体框架中父级的子实体的数量 我现在使用的是4 3 1 问题 我正在开发一个 ASP NET MVC3 站点 它通过使用实体框架的数据访问层访问数据 我有一个 SearchList 实体 它与搜
  • 使用 MVC 5 和实体框架的 jQuery 数据表

    我需要一些关于在控制器中放入什么内容的指导 以便我可以对 jQuery 数据表使用服务器端处理 我正在使用 MVC 5 和实体框架 示例位于 http datatablesmvc codeplex com documentation htt
  • 如何在Web网格的列中编写IF条件

    我在 WEB GRID 列中创建 if 条件时遇到错误 所以 请帮助改进我的代码并解决我的问题 grid Column Status format item gt
  • 通过 HttpClient 使用外部 REST Web 服务的存储库模式示例?

    我已经进行了相当多的搜索 但没有找到任何在 ASP NET MVC 应用程序中使用存储库模式使用外部 REST Web 服务的好示例 并且具有松散耦合和有意义的关注点分离 我在网上找到的几乎所有存储库模式示例都是编写 SQL 数据或使用 O
  • 如何将图像和 POST 数据上传到 Azure 移动服务 ApiController 终结点?

    我正在尝试上传图片and POST表单数据 尽管理想情况下我希望它是json 到我的端点Azure 移动服务应用 我有ApiController method HttpPost Route api upload databaseId sea
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • 如何使用C#在asp.net中下载xml文件

    我正在使用网络应用程序ASP NET 与 MVC3 我是 mvc3 的新手 我的网页上有一个下载按钮 当我要单击下载按钮时 我希望能够打开该 XML 文件 我尝试过一些代码更改动作结果但我没有打开文件 通过使用下面提到的代码 我收到一个下载
  • href 中的 Mono ASP.NET MVC 波形符导致 System.NotImplementedException

    我正在尝试在 Ubuntu 14 04 1 上使用 Mono 3 12 0 制作 ASP NET 应用程序 每当我尝试在我的 href 中使用波浪号时 Layout cshtml 我得到一个System NotImplementedExce
  • 运行更新数据库时出错

    我在运行时遇到以下错误Update Database Verbose 使用启动项目 WebApplication 使用 NuGet 项目 Web应用程序 指定 Verbose 标志来查看 SQL 应用于目标数据库的语句 目标数据库是 星冰乐
  • 在 MVC 应用程序中使用 DataTables.NET ajax 调用访问 WebAPI 2 json

    我一直在尝试让 DataTables NET 与我构建的 WebAPI RESTFul 服务很好地配合 但返回的 json 似乎不符合 DataTables 正在寻找的内容 我尝试了各种 服务器处理 示例以及我在互联网上找到的一些示例 例如
  • Azure 云服务在应用程序池回收后停止运行

    我部署了一个 Azure 云服务 WebRole WebAPI 只有一个实例 我注意到 如果我等待一些空闲时间 没有 HTTP 请求 那么稍后服务就会死掉 并且对它的每个请求都会导致以下响应 Message An error has occ
  • EditorTemplate 的嵌套模型的 ASP.NET MVC3 条件验证

    假设你有一个 viewModel public class CreatePersonViewModel Required public bool HasDeliveryAddress get set Should only be valid
  • 如何使用 ASP.NET Razor 语法应用 bootstrap v4 alpha 的表单输入验证类?

    因此 Bootstrap v4 alpha 对表单验证类进行了一些更改 现在 要将验证样式应用于表单输入 请将 CSS 类应用于父级div form group 我正在使用 ASP NET MVC4 编写一个网站 并试图弄清楚如何将此 CS
  • MVC:如何让控制器渲染从视图启动的部分视图

    在我的 MVC5 项目中 我想在部分视图中创建一个菜单 该菜单是动态的 因为它是根据我的数据库中的内容构建的 因此 我有一个控制器负责创建菜单并将菜单模型返回到我的部分视图 public PartialViewResult GetMenu
  • Asp.Net MVC3 Razor - 子项目列表未从编辑器发回

    我正在尝试在 MVC3 中创建一个多级编辑器 我所说的多级是指我希望能够编辑三个层次结构级别的数据 父对象 父对象的子对象和子子对象的集合 我的模型大致如下 namespace MvcApplication1 Models public c
  • 如何在编辑器模板中获取序列/数组索引?

    案件 我有一个使用 X 类编辑器模板显示的 X 类项目列表 问题 如何获取编辑器模板内部正在处理的项目的索引 我一直在使用这个 HtmlExtension 它只返回迭代所需的 id 它基本上是一个正则表达式ViewData Template
  • 如果 mVC 中不存在该 url,则重定向到页面未找到页面

    如果 url 不存在 我需要将用户重定向到未找到页面 如果用户复制网址并将其粘贴到浏览器上 页面将显示找不到页面的方法 在这我需要将用户重定向到页面未找到页面 看看这个 如何在 ASP NET MVC 中正确处理 404 https sta
  • ASP.NET MVC 中的经典 ASP (C#)

    我有一个应用程序想要 最终 转换为 ASP NET MVC 我想要进行全面的服务升级 到 ASP NET 但想要使用当前的 ASP 内容来运行当前的功能 这样我就可以在对新框架进行增量升级的同时升级小部分 该站点严重依赖于不太成熟的 VB6
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于

随机推荐