asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net-mvc – 使用Razor,如何使所有“bool?”属性显示为是/否/未设置在详细信息页面上?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Help with c# and bool on asp.net mvc3
这是我的页面代码到目前为止
@model TennisClub.Models.ClubMember
@{
    ViewBag.title = "Details";
}
<h2>
    Details
</h2>
<fieldset>
    <le@R_607_11064@>ClubMember</le@R_607_11064@>
    @Html.DisplayForModel()
</fieldset>
<p>
    @Html.ActionLink("Edit","Edit",new { id = Model.Id }) |
    @Html.ActionLink("BACk to List","Index")
</p>

对于我的模型中的所有可空的布尔(bool?),这将显示一个带有未设置,True或false的灰色选择列表.我希望它只是纯文本:不设置,是或否.

如何最容易地实现这一点?我希望这种风格在我的网站上是全球性的.

编辑

只是在每个Mark的答案中创建一个模板,但是细节页面看起来完全一样.

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

这是我现在为我的bool.cshtml模板所做的:

@model bool?

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

这完全不对我的细节页有任何影响.

任何想法我在做错什么?

编辑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

更新:一个小心谨慎,请记住处理null的情况.过去我忘了这样做,咬我了

大佬总结

以上是大佬教程为你收集整理的asp.net-mvc – 使用Razor,如何使所有“bool?”属性显示为是/否/未设置在详细信息页面上?全部内容,希望文章能够帮你解决asp.net-mvc – 使用Razor,如何使所有“bool?”属性显示为是/否/未设置在详细信息页面上?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。