我有一个页面,其中有一个模式弹出窗口,单击链接按钮时会显示该页面。我已禁用链接按钮,但单击禁用的链接按钮时,也会出现模式弹出窗口。除了Chrome之外,它在所有其他浏如何防止在禁用链接按钮(目标控件)时显示模式弹出窗口?
代码如下:
<cc1:ModalPopupExtender ID="ModalPopupExtender" runat="server" BackgroundCssClass="modalBackground"
CancelControlID="imgbtnCancel" DropShadow="true" PopupControlID="panelTenant"
TargetControlID="lnkbtnTenant">
</cc1:ModalPopupExtender>
<asp:Panel ID="panelTenant" CssClass="modalPopup" Style="display: none" Width="400px"
runat="server">
<asp:Button ID="btnTest" Text="Test" runat="server"></asp:Button>
</asp:Panel>
在代码的page_load事件中,我检查了一个条件并在条件失败时禁用了链接按钮。
if (ds.Tables[3].Rows.Count > 0)
{
lnkbtnTenant.Enabled = true;
lnkbtnTenant.Text = "Click to view Tenant Details";
}
else
{
lnkbtnTenant.Enabled = false;
lnkbtnTenant.Text = "Tenant Details not available.";
}
<小时/> 已修改以包含OP在评论中发布的生成的HTML:
这是模式弹出窗口的结果HTML:
<div id="ctl00_head_panelTenant" class="modalPopup" style="width:400px;display: none">
<input type="submit" name="ctl00$head$btnTest" value="Test" id="ctl00_head_btnTest"/>
</div>
这是禁用按钮的结果HTML:
<a id="ctl00_head_lnkbtnTenant" disabled="disabled" class="para1">Tenant Details not available.</a>
答案 0 :(得分:0)
看起来ASP.NET将disabled =“disabled”属性放入锚点,这是无效的HTML。 Chrome会忽略此非标准属性,因此您仍然可以点击该链接。