我有一个页面,用户将输入一些值。有一个标签,其中包含选项的值(即时区)。用户点击链接按钮,通过AJAX ModalPopupExtender显示Web用户控件。
<cc1:ModalPopupExtender ID="mpeOptions" runat="server" TargetControlID="lbError" DropShadow="True" CancelControlID="Options1$lbCancelHelp" OkControlID="Options1$butOK" PopupControlID="pnlOptions" BackgroundCssClass="modalBackground">
</cc1:ModalPopupExtender>
<asp:Panel ID="pnlOptions" runat="server" CssClass="GridView" Width="400px">
<oc1:Options ID="Options1" runat="Server" />
</asp:Panel>
用户在弹出窗口中做出选择。单击确定,弹出窗口关闭。但是标签不会根据用户的选择进行更新。它只会在您再次单击“选项”时更新。
我在弹出窗口中的butOK中添加了一个PostCallback:
ScriptManager sm = ScriptManager.GetCurrent(Page);
if (sm != null)
sm.RegisterAsyncPostBackControl(butOK);
并在Form Load中添加:
lblTimezone.Text = "Timezone: " + Options1.TimeZone.SelectedItem.Text;