의미 드롭 다운을 사용하여 선택한 국가를 기반으로 상태 이름을 표시해야합니다. 그래서, 나는 별도의 asp : DropDownList를 사용하여 국가와 주를 배경으로 데이터베이스에서 데이터를 가져옵니다. Page_Load()에서 백엔드 코드의 메뉴 항목을 의미 론적 드롭 다운의 HTML 문자열로 구성하여 메뉴 항목을로드하고 표시합니다. 나라를 바꿀 때마다 잘 작동합니다. 그러나 전체 페이지가 다시로드되어 매번 기분이 좋지 않습니다.SemanticUI 드롭 다운 메뉴가 메뉴 항목을 동적으로 선택하지 않습니다.
이제 페이지를 다시로드하지 않고 상태 드롭 다운 (시맨틱 드롭 다운) 만 새로 고치려고합니다. 따라서 asp : dropPart 컨트롤에 asp : dropdownlist 컨트롤을 배치하여 페이지의 부분 렌더링을 수행했습니다. 하지만 국가를 변경하면 상태 드롭 다운에서 UpdatePanel에로드 된 업데이트 된 값을 선택하지 않습니다. 디버깅하는 동안 ASP 드롭 다운에서 업데이트 된 상태 값과 백엔드에서 HTML 문자열을 볼 수있었습니다. 여기
<asp:UpdatePanel ID="UpdatePanel6" runat="server">
<ContentTemplate>
<!-- Country Dropdown and sql data source-->
<asp:SqlDataSource ID="SqlDataSourceCountry" runat="server" ConnectionString="<%$ ConnectionStrings:.......%>"
SelectCommand="......." SelectCommandType="StoredProcedure"></asp:SqlDataSource>
<asp:DropDownList ID="DropDownListCountry" runat="server" AutoPostBack="True" DataSourceID="......"
DataTextField="CountryName" DataValueField="CountryCode" Style="display: none">
</asp:DropDownList>
<!-- State Dropdown and sql data source-->
<asp:SqlDataSource ID="SqlDataSourceState" runat="server" ConnectionString="<%$ ConnectionStrings:..... %>"
SelectCommand=".........." SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:ControlParameter ControlID="......" Name="EnterCountryCode" PropertyName="......." Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:DropDownList ID="DropDownListState" runat="server" AutoPostBack="True"
DataSourceID="......" DataTextField="....." DataValueField="......" Style="display: none">
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
<div id="dvIDCountryCodeDropdownClone" class="ui selection dropdown dvDropDownCountry">
<input type="hidden" name="countryDropdown">
<i class="dropdown icon"></i>
<%=strClsCountryNameHTML%>
</div>
<div id="dvIDStateCodeDropdownClone" class="ui selection dropdown dvStateCityDropDown">
<input type="hidden" name="stateDropdown">
<i class="dropdown icon"></i>
<%=strClsStateNameHTML%>
</div>
드롭 다운
<script type="text/javascript">
$('#dvIDCountryCodeDropdownClone').dropdown();
$('#dvIDStateCodeDropdownClone').dropdown();
</script>
나는()뿐만 아니라 pageLoad이 초기화 시도를 초기화하는 스크립트이지만, 그것은 작동하지 않았다. 나는 articled를 검색하여 드롭 다운을 다시 초기화하는 (.ui.dropdown) .dropdown ("새로 고침") 등의 제안 된 옵션을 시도했습니다. 문제가 해결되지 않았습니다.
누구든지 나에게이 문제를 해결하기위한 아이디어를 줄 수 있습니까?
안녕 헨리 후를, 그것은 처음에는 잘 작동합니다. 다른 국가를 두 번 선택하면 작동하지 않습니다. 무엇이 문제 일 수 있습니까? –
의미 드롭 다운이 변경됩니까? 변경할 때 서버에 대한 포스트 백이 호출 되었습니까? –
예, 의미 론적 드롭 다운에서 변경하고 있습니다. 변경하면 포스트 백이 호출되지 않습니다. –