我们的应用程序中的一个页面使用GridView进行显示 - 它以表格的形式发出。我们更喜欢离开边界,因此这些被编码为被抑制。看到这段代码:
<asp:GridView CssClass="detail" AutoGenerateColumns="false" UseAccessibleHeader="true" RowStyle-CssClass="detail_data" BorderWidth="0" HeaderStyle-CssClass="detail_label" runat="server" ID="RiembursementRequestGrid">
<Columns>
<asp:BoundField HeaderStyle-Wrap="false" HeaderText="RR Id" DataField="RR ID" />
<asp:BoundField HeaderText="Official Station" DataField="Official Station" />
<asp:BoundField HeaderText="Official Residence" DataField="Official Residence" />
<asp:BoundField ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" HeaderText="Description" DataField="Description" />
<asp:BoundField HeaderText="Routing Status" DataField="Routing Status" />
<asp:BoundField HeaderStyle-HorizontalAlign="Right" ItemStyle-HorizontalAlign="Right" HeaderText="Amount Requested" DataField="Amount Requested" DataFormatString="{0:c}" HtmlEncode="false" />
<asp:BoundField HeaderStyle-HorizontalAlign="Right" ItemStyle-HorizontalAlign="Right" HeaderText="Taxable Amount" DataField="Taxable Amount" DataFormatString="{0:c}" HtmlEncode="false" />
<asp:BoundField HeaderStyle-HorizontalAlign="Right" ItemStyle-HorizontalAlign="Right" HeaderText="Travel Advance" DataField="Travel Advance" DataFormatString="{0:c}" HtmlEncode="false" />
</Columns>
</asp:GridView>
相关的CSS课程项目是:
.detail
{
border: none;
width: 100%;
font-weight: bold;
text-align: center;
font-family: "Arial";
empty-cells: show;
border-collapse: collapse;
}
.detail_data
{
border: none;
text-align: center;
font-size: small;
font-weight: normal;
border-collapse: collapse;
}
.detail_label
{
border: none;
text-align: center;
font-size: small;
font-weight: bold;
border-collapse: collapse;
}
工作站发出的内容与服务器发出的内容之间存在差异。
在我的开发工作站上,运行IIS7.5的Win7,边框正确缺席。在运行IIS6的Win2003服务器上,存在边框。这与完全相同的代码和CSS,以及查看它的相同浏览器。这是比较截图:
正在发出的代码存在差异。这是运行IIS7.5的工作站上的表开始标记的HTML代码:
<table class="detail" cellspacing="0" rules="all" border="0" id="RiembursementRequestGrid" style="border-width:0px;border-collapse:collapse;">
在运行IIS6的服务器上
<table class="detail" cellspacing="0" rules="all" id="RiembursementRequestGrid" style="border-width:0px;border-collapse:collapse;">
如您所见,唯一的区别是一个标签省略了 border =“0”。对于那个边界真的缺失了。我原以为“border-width:0”会涵盖那个特定的基础。
请注意,除了开始表标记之外,所有其他发出的HTML(viewstate值除外)都是相同的。
问题是:
答案 0 :(得分:1)
您是否尝试过使用web.config中的controlRenderingCompatibilityVersion
设置?
如果设置为3.5或更高,则table
,image
和imagebutton
标记将省略边框值。
详细信息:http://www.asp.net/whitepapers/aspnet4/breaking-changes