ASP.NET MVC 3,DisplayFor in View不生成等宽输出

时间:2012-08-20 15:52:47

标签: asp.net-mvc-3

使用ASP.NET MVC 3 ...

注意:我无法将三条线(元音,全名和辅音)垂直排列,就像它们在我的视图显示中实际出现的那样。很容易找出字母字符,以及它们是名称上方或下方的元音(上方)或辅音(下方)。使用的alpha“翻译”是:A-I = 1到9,J-R = 1到9,S-Z = 1到8就数值而言。

从视图:

<!--
<table>
<span style="font-family:Monospace;">
    <tr>
        <td style="font-weight:bold; text-align:right;">Vowels</td>
        <td style="font-family:monospace; font-weight:bold; width:215pt;">@Html.DisplayFor(model => model.Vowels)</td>
        <td style="font-family:monospace; font-weight:bold;">@Html.DisplayFor(model => model.VowelReduction)</td>
    </tr>
    <tr>
        <td style="font-weight:bold; text-align:right;">Full Name</td>
        @if(Model.BMName == null || Model.BMName == "")
        {
            <td style="font-family:monospace; font-weight:bold; width:215pt;">@Html.DisplayFor(model => model.BFName)&nbsp;@Html.DisplayFor(model => model.BLName)</td> 
        }
        else
        {
            <td style="font-family:monospace; font-weight:bold; width:215pt;">@Html.DisplayFor(model => model.BFName)&nbsp;@Html.DisplayFor(model => model.BMName)&nbsp;@Html.DisplayFor(model => model.BLName)</td>
        } 
        <td style="font-family:monospace; font-weight:bold;">@Html.DisplayFor(model => model.NameAllReduction)</td>
    </tr>
    <tr>
        <td style="font-weight:bold; text-align:right;">Consonants</td>
        <td style="font-family:monospace; font-weight:bold; width:215pt;">@Html.DisplayFor(model => model.Consonants)</td>
        <td style="font-family:monospace; font-weight:bold;">@Html.DisplayFor(model => model.ConsonantReduction)</td>
    </tr>
</span>
</table>
-->

示例1 * *

在桌子之外:

1 5 59 59

阿尔伯特爱因斯坦

32 92 512 5


示例2 * **

表内:

元音1 5 59 59 34/7

全名阿尔伯特爱因斯坦63/9

辅音32 92 512 5 29/11


当项目正在运行时,从模型ABIPlusPhillips.BFName,.BLName(Big Al没有中间名,并且在任何地方都有代码可以挤出中间名称,如果没有中间名称。),. Vowels和。辅音,我使用了一个Quickwatch和TextVisualizer来查看对象并从对象的属性中获取基本信息,就在它们传递给View之前。该信息被复制并粘贴到文本编辑器中,使用等宽字体,并给出了所有字符的良好垂直对齐:

示例3 * ***

1 5 59 59

阿尔伯特爱因斯坦

32 92 512 5


最后,我用一个标签对括起来并获得相同的间距问题(参见示例1),但表中的所有字符都是红色的。实际上,我在示例1的“桌子外面”周围使用了sam括号,并且得到了与示例1相同的结果,只有红色。

即使周围的HTML已经设置为单一环境,但看起来嵌入的信息必须成比例。

如何解决这个问题?

感谢Stack人和所有贡献者......这是一个很棒的,信息丰富的网站......

马福

 I stripped things down to "barebones" as follows. The .cshtml page displays wrong, however the HTML source appears correct.


-------
.cshtml page that displays:

@model Numer.Models.ABIPlusPhillips

           @Model.Vowels<br />
           @Model.FullName<br />
           @Model.Consonants

Site.css:

body 
{
    font-family:Courier New;
    color:Red;
}

--------

------
_Layout.cshtml:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>@ViewBag.Title</title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>


</head>
<body>
    <div>

        <section id="main">
            @RenderBody()
        </section>

    </div>
</body>
</html>

------

------
HTML Source from displayed page:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <link href="/Content/Site.css" rel="stylesheet" type="text/css" />
    <script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
    <script src="/Scripts/modernizr-1.7.min.js" type="text/javascript"></script>


</head>
<body>
    <div>
    <section id="main">

       1  5   59   59 <br />
       Albert Einstein<br />
        32 92   512  5


        </section>

    </div>
</body>
</html>

0 个答案:

没有答案