1
我想从下拉列表(asp:Dropdownlist)中选择一个项目时使用blockUI来阻止页面。当一个项目被选中(onchange事件)时,界面确实会被“屏蔽”,但是保持被阻止。似乎回发事件没有被解雇。当我点击回发到服务器的按钮时,我可以阻止和解除阻止用户界面,处理需要的内容并返回并取消阻止页面。我无法从下拉列表中做到这一点。有什么建议么?JQuery BlockUI下拉列表
<script type="text/javascript">
var URL;
function showWaitPanel(msg) {
$.blockUI({
message: '<p>' + msg + '</p>'
,css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
color: '#fff' }
});
}
function removeWaitPanel(msg, url) {
$.unblockUI();
if (msg != '') {
$.blockUI({ message: '' + msg + '' });
setTimeout($.unblockUI, 20000);
}
if (url != '')
window.location.href = url;
}
</script>
<asp:DropDownList ID="ddlVendors" runat="server" AppendDataBoundItems="true" AutoPostBack="true" OnSelectedIndexChanged="ddlVendors_SelectedIndexChanged" >
....
在服务器端,代码隐藏,... Page_Loa d(...) {
if (!Page.IsPostBack)
{
ddlVendors.Attributes.Add("onchange", "return showWaitPanel('Please Wait...');");
}
}
protected void ddlVendors_SelectedIndexChanged(object sender, EventArgs e)
{
.....
RemoveWaitPanel("ddlVendors_SelectedIndexChanged", "", "");
}
private void RemoveWaitPanel(string key, string message, string url)
{
string strScript = "return removeWaitPanel('" + message + "', '" + url + "');";
ScriptManager.RegisterClientScriptBlock(this, GetType(), key, strScript, true);
}
showWaitPanel()在客户端没有得到执行当选择一个项目,UI被阻断但随后服务器侧ddlVendors_SelectedIndexChanged(回发)没有按没有得到执行
第一个建议是*分享您的代码* .. –
@MichalKlouda ..米哈尔更新原代码与代码..谢谢。 – user1634332