我在asp.net中遇到了一个特殊的问题。我有一个以下规格的链接按钮。 LinkButton的 -
<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函数时,即使代码隐藏无法执行或者我可能遗漏了某些东西?
谢谢,我希望我说清楚
答案 0 :(得分:0)
如果要执行禁用js的事件
,请使用按钮<asp:Button runat="server" />
LinkButton已被翻译成类似
的内容<a href="javascript:something_like_invoke_postback()" onclick="your_on_client_click" />
所以一旦你禁用了javascript,它们就会死掉。 OnClientClick处理程序与此问题无关(如果禁用js它为空,则不会触发事件。)