ASP.NET:ModalPopupExtender可防止触发按钮单击事件
这是我正在尝试做的事:点击我页面上的一个按钮,这反过来使(2)事情发生:
- 显示ModalPopup以防止用户按任何按钮或更改值
- 调用我的代码隐藏方法,完成后隐藏ModalPopup
这是ASP标记:
Saving...
现在,这是我的C#代码背后的代码:
protected void btnSaveData_Click(object sender, EventArgs e) { UpdateUserData(GetLoggedInUser()); modalPopup.Enabled = false; }
为什么这不起作用? ModalPopup显示完美,但btnSaveData_Click事件永远不会触发。
更新:第一个建议对我不起作用。 我也尝试了你的第二个建议(只要它适用于我)。 我的一个小的区别是我的模态面板上没有按钮(pnlHidden) – 它只是一条消息。 我确实尝试在客户端使用Javascript事件,这至少与我的服务器端事件并发。 这是个好消息,但我似乎无法找到或获取ModalPopupExtender或其BehaviorID的句柄。 这不起作用:
function showOverlay() { var popup = $find('modalPopup'); popup.show(); }
弹出窗口总是等于null。
最终更新:这是我的最终解决方案(请特别注意使用OnClientClick和OnClick):
Saving...
使用这个Javascript函数:
function showModal() { $find('ShowModal').show(); }
……这个代码背后:
protected void btnSaveData_Click(object sender, EventArgs e) { UpdateUserData(GetLoggedInUser()); modalPopup.hide(); }
试试这个。
创建一个虚拟隐藏字段:
在Modal Popup声明中设置TargetcontrolID =“hdnField”。
在btnSaveData_Click事件中,执行以下操作:
modalPopup.Show();
试试这个。 它100%正常工作
服务器端代码
protected void Btnshow_Click(object sender, EventArgs e) { ModalPopupExtender1.Show(); } protected void BtnHide_Click(object sender, EventArgs e) { ModalPopupExtender1.Hide(); }
首次尝试:尝试将ButtonID设置为OkControlID标记,然后重试
要么
第二次尝试:通过javascript调用您的事件,点击事件似乎存在一些问题
LinkButton
从这个示例中,您可以轻松控制面板显示取决于条件,而不是一旦您单击按钮立即显示面板。
. . //Server side code: protected void btnAdd_Click(object sender, EventArgs e) { if( dt.Rows.Count == 0 ) { btnAdd_ModalPopupExtender.Show(); } else { add(); } }
在后面的代码中,您可以这样做:
if (true) { var script = @"Sys.Application.add_load(function() { $find('behavoirIDModal').show(); });"; ScriptManager.RegisterStartupScript(this, GetType(), "Show", script, true); }
改变这个’behavoirIDModal’
上述就是C#学习教程:ASP.NET:ModalPopupExtender可防止触发按钮单击事件分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1003001.html