如何在不触发回发的情况下更改asp.net下拉列表的选定值?
我已尝试将autopostback设置为false,但在下拉列表中选择其他选项时,该选项上的“selected”属性不会更改。
我看过一些使用updatepanel的例子,我已经尝试了这个成功,但由于页面上的其他javascript和jquery函数,我不能使用它而不会在其他函数上遇到很多麻烦。< / p>
代码更新
<asp:DropDownList ID="USERS" DataTextField="NAME" DataValueField="ID" runat="server"
Width="150px">
</asp:DropDownList>
答案 0 :(得分:0)
尝试使用asp:UpdatePanel和asp:updateprogress标签进行AJAX。如果您已经尝试过,请告诉我们您的代码,以便我们提供帮助。
答案 1 :(得分:0)
Lemme详细解释你......
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
</ContentTemplate>
并根据需要添加更新进度
<asp:UpdateProgress ID="UpProDisp" runat="Server" AssociatedUpdatePanelID="UpdatePanel1" OnLoad="UpdatePanelProdDisp_Load">
<ProgressTemplate>
</ProgressTemplate>
</asp:UpdateProgress>
还添加了Modal弹出窗口
<asp:ModalPopupExtender ID="modalExtender" runat="server" TargetControlID="UpProDisp" PopupControlID="Panel1" DropShadow="true" BackgroundCssClass="modalBackground">
</asp:ModalPopupExtender>
<asp:Panel ID="Panel1" runat="server" CssClass="modalExtender">
<img alt="Processing" src="../Images/Processing.jpg" />
<br />
<asp:Label ID="lblProcessing" runat="server" Text="Processing..." CssClass="TitleBar"></asp:Label>
</asp:Panel>
使用以下javascript代码...
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(showPopup);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(hidePopup);
function showPopup(sender, args) {
var ModalControl = '<%= modalExtender.ClientID %>';
$find(ModalControl).show();
}
function hidePopup(sender, args) {
var ModalControl = '<%= modalExtender.ClientID %>';
$find(ModalControl).hide();
}
</script>
告诉我它是否有效。