Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 下拉列表丢失css和更新面板触发器can';在gridview中找不到控件id_Asp.net_Gridview_Drop Down Menu_Triggers_Updatepanel - Fatal编程技术网

Asp.net 下拉列表丢失css和更新面板触发器can';在gridview中找不到控件id

Asp.net 下拉列表丢失css和更新面板触发器can';在gridview中找不到控件id,asp.net,gridview,drop-down-menu,triggers,updatepanel,Asp.net,Gridview,Drop Down Menu,Triggers,Updatepanel,加载页面时,css中的下拉列表样式会发生变化。我已经尝试了许多方法来解决这个问题。此外,我无法在更新触发器中找到dropdownlist id。。。任何帮助我的建议…我被困在这个…提前谢谢你 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:Grid

加载页面时,css中的下拉列表样式会发生变化。我已经尝试了许多方法来解决这个问题。此外,我无法在更新触发器中找到dropdownlist id。。。任何帮助我的建议…我被困在这个…提前谢谢你

        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:GridView runat="server" ID="gvDetails" AutoGenerateColumns="False" ShowHeaderWhenEmpty="True"
                    ForeColor="#333333" GridLines="None" ShowFooter="True" Width="855px">

                    <Columns>
                        <asp:BoundField DataField="SNo" HeaderText="S.N." ReadOnly="true" />
                        <asp:TemplateField Items Detail"
                            ControlStyle-Width="150px" ItemStyle-HorizontalAlign="center">
                            <ItemTemplate>
                                <asp:DropDownList ID="ddlItem" runat="server" ForeColor="Black" Height="35px" CssClass="chzn-select"
                                    Style="width: 210px;" Font-Bold="false" AutoPostBack="true" OnSelectedIndexChanged="ddlItem_SelectedIndexChanged">
                                </asp:DropDownList>
                            </ItemTemplate>
                            <FooterTemplate>
                                <asp:Label ID="lblTotalText" runat="server" Text="Total :"></asp:Label>
                            </FooterTemplate>
                            <ControlStyle Width="150px" />
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="" ControlStyle-Width="0px" Visible="true">
                            <ItemTemplate>
                                <asp:TextBox ID="txtMRP" runat="server" Enabled="false" Visible="true" BorderStyle="None"
                                    BackColor="White" />
                            </ItemTemplate>
                            <ControlStyle Width="0px" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="" ControlStyle-Width="0px" Visible="true">
                            <ItemTemplate>
                                <asp:TextBox ID="txtAmount" runat="server" Enabled="false" Visible="true" BorderStyle="None"
                                    BackColor="White" />
                            </ItemTemplate>
                            <ControlStyle Width="0px" />
                        </asp:TemplateField>

                    </Columns>

                </asp:GridView>
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="ddlItem" EventName="SelectedIndexChanged" />
            </Triggers>
        </asp:UpdatePanel>
        <br />

        <div style="margin-left: 50px; margin-top: 10px">
        </div>
        <br />
        <asp:Button ID="btnAddSalesOrder" runat="server" Text="Send Inquiry" OnClick="btnAddSalesOrder_Click"
            Style="margin-left: 30px; color: White; background-color: #088FCA;" OnClientClick="myClosure();"
            class="btn btn-info" />
        <asp:Button ID="btnPlaceOrder" runat="server" OnClick="btnPlaceOrder_Click" Text="Place Order"
            Style="margin-left: 30px; color: White; background-color: #088FCA;" OnClientClick="myClosure();"
            class="btn btn-info" />
        <asp:UpdateProgress ID="UpdtProgress" DisplayAfter="1" runat="server" EnableViewState="False">
            <ProgressTemplate>
                <div style="top: 0px; height: 120%; background-color: White; opacity: 0.75; filter: alpha(opacity=75);
                    vertical-align: middle; left: 0px; z-index: 999999; width: 120%; position: absolute;
                    text-align: center;">
                    <img src="Images/loader.gif">
                </div>
            </ProgressTemplate>
        </asp:UpdateProgress>
    </div>

<script type="text/javascript">
    $('.chzn-select').select2({
        no_results_text: 'Oops, nothing found!',
        allowClear: true,
        maximumSelectionSize: 1,
        width: '130px;'
    });


我不知道什么是
select2
,但是如果您的DOM在脚本运行时还没有准备好,那么元素还不可用。将脚本包装在一个
$(文档)中。准备好(function(){//your code here})
如果需要,您也可以尝试
$('#ddlItem')。选择(…)
如果需要绑定到多个属性,您可以使用数据属性-一般来说,我不喜欢在JavaScript中使用类作为选择器,这仅仅是因为根据我的经验,设计师会根据需要一时兴起地对其进行更改。要么使用标识符,要么使用位置选择器,因为它们由开发人员控制,css人员不应该碰它们。另一个问题可能是更新面板本身。我不记得它们到底是如何工作的,但是如果它们重新加载元素,那么当它们被删除和重新添加时,您就无法绑定到其中的元素,从而一路松开它们的绑定。在这种情况下,您可能需要使用事件委派,并使用较高的静态父级作为主选择器。类似的东西可能会起作用。
$(“#UpdatePanel1”)。在('select',“#ddleItem',函数(…)
select2用于为下拉列表提供样式,使其可搜索。我在我的代码隐藏中尝试了这一点,效果很好。如果(!IsPostBack){BindGridview();getItems();}this.RegisterPostBackControl();}private void RegisterPostBackControl(){foreach(gvDetails.Rows中的GridViewRow行){DropDownList ddlItem=row.FindControl(“ddlItem”)作为DropDownList;ScriptManager.GetCurrent(this).RegisterPostBackControl(ddlItem);}