MVC 3 Razor视图在托管环境上呈现的不同于本地

时间:2011-09-08 09:44:50

标签: asp.net-mvc asp.net-mvc-3 razor

我创建了一个MVC 3视图,只需添加一个控制器并通过使用实体框架来支撑它。

见以下观点:

<table>
    <tr>
        <th>
            MetaType
        </th>
        <th>
            Value
        </th>
        <th>
            Page
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.MetaType)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Value)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Page.Title)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
            @Html.ActionLink("Details", "Details", new { id=item.Id }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.Id })
        </td>
    </tr>
}

</table>

当我在我的开发机器上打开视图时,生成的html与预期的一样:

<table>
    <tr>
        <th>
            MetaType
        </th>
        <th>
            Value
        </th>
        <th>
            Page
        </th>
        <th></th>
    </tr>

    <tr>
        <td>
            Keywords
        </td>
        <td>
            bla, bla bla,
        </td>
        <td>
            Home
        </td>
        <td>
            <a href="/Admin/metainformation/Edit/1">Edit</a> |
            <a href="/Admin/metainformation/Details/1">Details</a> |
            <a href="/Admin/metainformation/Delete/1">Delete</a>
        </td>
    </tr>

在我们的托管环境中,几乎每行都会显示一条额外的白线。

<table>

<tr>

<th>MetaType</th>

<th>Value</th>

<th>Page</th>

<th></th>

</tr>

<tr>

<td>Keywords</td>

<td>values, values, values.</td>

<td>Home</td>

<td><a href="/Admin/metaInformation/Edit/1">Edit</a> | <a href="/Admin/metaInformation/Delete/1">Delete</a></td>

</tr>

任何人都知道为什么会有差异,以及如何解决这个额外的空白?

更新 似乎只有这个页面才有这个问题。其他页面只有正常的html布局。我也检查了数据库中的数据,但找不到与其他页面不同或不同的内容。

我还尝试重新生成文件并重新上传,但也没有运气。我在这个问题上有点选择。

2 个答案:

答案 0 :(得分:1)

如果主机中的某些内容与您的环境相比有所不同,则通常会出现以下问题之一:

    服务器的
  1. 时间和/或日期时间格式与本地计算机不同
  2. 全球应用文化和/或编码不同
  3. 数据库(MS-SQL)具有不同的冲突
  4. 我建议您将以下节点添加到本地和主机 web.config ,并检查结果:

    <configuration>
       <system.web>
          <globalization
             requestEncoding="utf-8"
             responseEncoding="utf-8" />
       </system.web>
    </configuration>
    

答案 1 :(得分:1)

在做了我的应用程序的发布者之后,问题就消失了。还没有找到导致它的原因。