Asp.net 更新面板中的Gridview在页面更改时丢失备用行颜色
我在更新面板中有一个GridView GridView的样式使每个备用行具有不同的颜色 当我在GridView上更改页面时,它会丢失备用行着色。将保留所有其他样式 如果我删除更新面板,GridView会在更改页面后保留备用行颜色 有没有人知道是什么原因造成的,或者如何修复 谢谢, 尼尔 编辑: 这是aspx代码Asp.net 更新面板中的Gridview在页面更改时丢失备用行颜色,asp.net,ajax,gridview,Asp.net,Ajax,Gridview,我在更新面板中有一个GridView GridView的样式使每个备用行具有不同的颜色 当我在GridView上更改页面时,它会丢失备用行着色。将保留所有其他样式 如果我删除更新面板,GridView会在更改页面后保留备用行颜色 有没有人知道是什么原因造成的,或者如何修复 谢谢, 尼尔 编辑: 这是aspx代码 <div id="active-logbooks" class="tab-content clearfix"> <div class="left-column"
<div id="active-logbooks" class="tab-content clearfix">
<div class="left-column">
<asp:MultiView runat="server" ID="mlvLogbooks" >
<asp:View runat="server" ID="vActiveLogbooks">
<asp:GridView PagerSettings-Mode="NextPrevious" PagerSettings-Position="Top" PagerSettings-NextPageImageUrl="~/img/right-arrow.png" PagerSettings-PreviousPageImageUrl="~/img/left-arrow.png" AllowPaging="true" runat="server" ID="gvActiveLogbooks" PageSize="5" AutoGenerateColumns="false" CssClass="lesson stripe-me" OnRowDataBound="gvActiveLogbooks_RowDataBound" OnPageIndexChanging="gvActiveLogbooks_PageIndexChanging">
<Columns>
<asp:BoundField HeaderText="Logbook number" DataField="LogbookNumber" ItemStyle-CssClass="border" ItemStyle-Width="100" />
<asp:BoundField HeaderText="Origin" DataField="Origin" ItemStyle-CssClass="border" ItemStyle-Width="100" />
<asp:BoundField HeaderText="Order Reference" DataField="OrderReference" ItemStyle-CssClass="border" ItemStyle-Width="100" />
<asp:TemplateField HeaderText="Transfer Date">
<ItemTemplate>
<asp:Literal runat="server" ID="lblTransferDate" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink runat="server" ID="lnkTransferLogbook" CssClass="border" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<a href="javascript:__doPostBack('ctl00$MainMaster$gvActiveLogbooks','Page$Prev')" id="lnkGridviewPrev" runat="server" class="left-arrow">Previous</a><asp:Literal runat="server" ID="litBreaker" Text=" |" />
<a href="javascript:__doPostBack('ctl00$MainMaster$gvActiveLogbooks','Page$Next')" id="lnkGridviewNext" runat="server" class="right-arrow">Next</a>
</asp:View>
</asp:MultiView>
</div>
页面上没有任何地方对GridView行进行着色
protected void gvActiveLogbooks_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.DataRow)
return;
Literal transferLabel = (Literal)e.Row.Cells[(int)ActiveLogbookGridViewColumns.TransferDate].FindControl("lblTransferDate");
transferLabel.Text = _logbooks[e.Row.RowIndex].TransferDate.ToShortDateString();
HyperLink transferLink = (HyperLink)e.Row.Cells[(int)ActiveLogbookGridViewColumns.TransferLink].FindControl("lnkTransferLogbook");
transferLink.Text = TransferLinkText;
transferLink.NavigateUrl = "TransferLogbooks.aspx?id=" + Guid.NewGuid();
}
我猜CSS类和回发之间的一些交互会把事情搞砸。如果切换到
RowStyle
和AlternateRowStyle
标记(示例),并使用这些标记上的CssClass
属性引用CSS类,会发生什么情况?我猜CSS类和回发之间的某些交互会把这一切搞糟。如果切换到RowStyle
和AlternateRowStyle
标记(示例),会发生什么情况,并使用这些标记上的CssClass
属性引用您的CSS类?您使用的是ScriptManager吗?您的GridView真的使用了一些CSS样式还是使用了一些代码进行绘制?是的,页面上有ScriptManager标记。可以肯定是css代码在设计它的样式。我将发布上面的代码。您使用的是ScriptManager吗?您的GridView真的使用了一些css样式还是使用一些代码进行绘制?是的,页面上有ScriptManager标记。可以肯定是css代码在设计它的样式。我会把代码贴在上面。
protected void gvActiveLogbooks_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.DataRow)
return;
Literal transferLabel = (Literal)e.Row.Cells[(int)ActiveLogbookGridViewColumns.TransferDate].FindControl("lblTransferDate");
transferLabel.Text = _logbooks[e.Row.RowIndex].TransferDate.ToShortDateString();
HyperLink transferLink = (HyperLink)e.Row.Cells[(int)ActiveLogbookGridViewColumns.TransferLink].FindControl("lnkTransferLogbook");
transferLink.Text = TransferLinkText;
transferLink.NavigateUrl = "TransferLogbooks.aspx?id=" + Guid.NewGuid();
}