Asp.net链接按钮在禁用javascript时没有触发他们的点击事件?

时间:2013-11-18 06:35:22

标签: asp.net-4.5

我在asp.net中遇到了一个特殊的问题。我有一个以下规格的链接按钮。 LinkBut​​ton的 -

<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click" OnClientClick="control_visible('Calendar1', 'Calendar2', 'visible')" ClientIDMode="Static">

OnClientClick()js函数 -

function control_visible(control1id,control2id, control1visibility)     //toggles visibility b/w two controls with opp visibility
{
    document.getElementById(control1id).style.visibility = control1visibility;

    if (control1visibility == "visible")
    {
        document.getElementById(control2id).style.visibility = "collapse";
    }
    else        
    {
        document.getElementById(control2id).style.visibility = "visible";
    }

    return false;
}

链接按钮内部的代码对于我所面临的问题是不可取的 似乎合乎逻辑的是当您在浏览器上禁用js时,后面的代码应该正常执行。
但在上面的情况下,因为我禁用了js,我的linkbutton停止与服务器&amp;的交互。不执行其代码和我甚至没有在链接按钮的 OnClientClick 函数调用中使用“return”关键字,这可能会阻止代码运行,如果它在 onclientclick 函数中提供“false”当js被禁用时呼叫 我不明白......这是因为在调用禁用js的js函数时,即使代码隐藏无法执行或者我可能遗漏了某些东西?

谢谢,我希望我说清楚

1 个答案:

答案 0 :(得分:0)

如果要执行禁用js的事件

,请使用按钮
<asp:Button runat="server" /> 

LinkBut​​ton已被翻译成类似

的内容
<a href="javascript:something_like_invoke_postback()" onclick="your_on_client_click" />

所以一旦你禁用了javascript,它们就会死掉。 OnClientClick处理程序与此问题无关(如果禁用js它为空,则不会触发事件。)