Asp.net 下拉列表丢失css和更新面板触发器can';在gridview中找不到控件id
加载页面时,css中的下拉列表样式会发生变化。我已经尝试了许多方法来解决这个问题。此外,我无法在更新触发器中找到dropdownlist 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
<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);}