gpt4 book ai didi

c# - 使用更新面板时服务器控件丢失其 CSS 样式

转载 作者:行者123 更新时间:2023-11-30 12:47:53 26 4
gpt4 key购买 nike

我正在使用 this我的项目的模板。我在表单中使用了更新面板,在更新面板中我采用了不同的 asp.net 下拉列表控件。现在的问题是当页面回发时,应用于下拉列表的 css 样式丢失了......因为我对 CSS 没有详细的想法..所以请帮忙

现在有两种可能

  • 根本不将 css 应用于下拉列表
  • 在回发后将 CSS 应用于下拉列表

如果我只是将下拉控件拖放到表单中,下拉菜单将随 css 一起显示。

我也使用了这个的母版页...我不想将 css 应用到下拉列表...那该怎么办..请建议我...

页面加载时的图像

enter image description here

回发后的图片(如果使用了updatepanel) enter image description here

.aspx代码

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div class="s" runat="server" id="divError">
<div class="round">
<span>
<img alt="" src="img/Error.png" />
</span><span runat="server" id="lblError"></span>
</div>
</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" RenderMode="Inline">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="drplstStd" />
</Triggers>
<ContentTemplate>
<div class="actions">
<div class="left">
<asp:Button ID="btnBack" runat="server" Text="Add new" Height="25px" OnClick="btnBack_Click" />
<br />
<br />
<br />
<asp:DropDownList ID="drplstStd" runat="server" AppendDataBoundItems="true" AutoPostBack="true"
onselectedindexchanged="drplstStd_SelectedIndexChanged">
<asp:ListItem Selected="True" Text=" --Select Standard-- " Value="0"></asp:ListItem>
</asp:DropDownList>
<br />
<asp:DropDownList ID="drplstSem" runat="server">

</asp:DropDownList>
<br />
<asp:DropDownList ID="drplstSubj" runat="server" AppendDataBoundItems="true">
<asp:ListItem Selected="True" Text=" --Select Subject-- " Value="0"></asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="txtChapterSearch" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Search" Height="25px" OnClick="btnSearch_Click" />
</div>
</div>
<fieldset>
<legend>Chapter details </legend>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowCommand="GridView1_RowCommand"
AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="10"
CssClass="grid" CellPadding="3" BorderColor="#CCCCCC" BorderWidth="1px" BackColor="White"
BorderStyle="None">
<RowStyle BackColor="#F6F6F6" ForeColor="#333333" />
<Columns>
<asp:TemplateField HeaderText="Id" Visible="False">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("ChapterID") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="30px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Standard">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Standard") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Height="50px" />
<ItemStyle Height="25px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Semester">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Semester") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Subject">
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("Subject") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Chapter">
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Bind("ChapterName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ShortForm">
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Bind("ChapterSName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandArgument='<%#((GridViewRow)Container).RowIndex%>'
Text="Edit" CommandName="EditDetails"></asp:LinkButton>
</ItemTemplate>
<ItemStyle Width="100" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandArgument='<%#((GridViewRow)Container).RowIndex%>'
Text="Delete" CommandName="DeleteDetails" OnClientClick="if (!window.confirm('Are you sure you want to delete this item?')) return false;"></asp:LinkButton>
</ItemTemplate>
<ItemStyle Width="100" />
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle CssClass="rowheader" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle CssClass="rowheader" />
<EditRowStyle BackColor="#999999" />
<AlternatingRowStyle BackColor="#FDFDFD" ForeColor="#284775" />
</asp:GridView>
<legend>
<asp:ImageButton ID="btnDisplay" runat="server" ImageUrl="~/Admin/img/view_refresh.png"
Height="16px" Width="16px" OnClick="btnDisplay_Click" />
<asp:Label ID="lblDisplay" runat="server" Text="Label"></asp:Label>
</legend>
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>

最佳答案

你可以在OnInit事件中注册你的css

string cssLocalisation  = string.Format("<link rel=\"stylesheet\" href=\"{0}\" type=\"text/css\" />", ResolveUrl(YourFile));

protected override void OnInit(EventArgs e)
{
base.OnInit(e);
var scriptManager = ScriptManager.GetCurrent(Page);
if ( ! scriptManager.IsInAsyncPostBack)
{
ScriptManager.RegisterClientScriptBlock(this, typeof(YourControl), "YourKey", cssLocalisation, false);
}
}

关于c# - 使用更新面板时服务器控件丢失其 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15494731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com