4

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

现在有2种可能

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

如果我只是将下拉控件拖放到表单中,下拉列表将与 css 一起出现。

我也使用了这个的masterpage ...我不想将css应用于下拉列表...然后该怎么做..请建议我...

页面加载时的图像

在此处输入图像描述

回发后的图像(如果使用更新面板) 在此处输入图像描述

.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>
4

1 回答 1

1

你可以注册你的CSSOnInit event

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);
    }
 }
于 2013-03-19T10:34:09.990 回答