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