发送';这';作为参数从web控件到javascript函数
我有这样一个函数:发送';这';作为参数从web控件到javascript函数,javascript,asp.net,Javascript,Asp.net,我有这样一个函数: <script type="text/javascript" > function postBack(e) { var lnk=document.getElementById('<%=e.getAttribute("ClientID") %>'); lnk.click(); }; </script> <asp:LinkButton onfocus="postBack(this);" i
<script type="text/javascript" >
function postBack(e) {
var lnk=document.getElementById('<%=e.getAttribute("ClientID") %>');
lnk.click();
};
</script>
<asp:LinkButton onfocus="postBack(this);" id="lnk_home" runat="server"
AccessKey="h" onclick="lnk_home_Click">Home</asp:LinkButton>
您不需要单独的JavaScript函数,只需使用
this.click()
:
使用鼠标实际单击链接时更新-事件可能会触发两次,因此您需要将其限制为一次单击:
<asp:LinkButton onfocus="this.AllowClick=true;this.click();" OnClientClick="if (this.AllowClick) {this.AllowClick=false} else {return false}" id="lnk_home" runat="server" AccessKey="h" onclick="lnk_home_Click">Home</asp:LinkButton>
主页
您是否希望用户也单击该链接?否,我希望在用户按下alt+Hw时处理链接按钮的单击事件为什么会有单击事件?只需呼叫lnk\u home\u单击insidepostBack
。此外,请参阅此提琴(按alt-h进行测试):-问题不在于将此传递到回发,而在于将函数回发(e)
中的客户端变量e
与
标记之间的服务器端代码混合在一起。它们不是同时存在的thisonfocus=“postBack(this);”
也是客户端DOM元素,而不是服务器端控件引用。它不仅仅是一个按钮,我说有10个按钮。我应该对所有的按钮都这样做吗?它工作了,但过了一段时间我不知道为什么会抛出以下异常:JavaScript运行时错误:Sys.ParameterCountException:Parameter count mismatch。有什么帮助吗?我认为这与上面的代码无关,这个。click()
是非常基本的。但以防万一,请尝试第二种方法,而不是仅使用oLink.click()
usesetTimeout(function(){oLink.click()},10)代码>再次出错。奥林克没有定义。这真的让我筋疲力尽:(我赶紧补充说,整个内容都是用updatepanel编写的,我使用ajax。你说过链接按钮会重定向到主页。你能用服务器端代码更新你的问题,以显示服务器端的点击事件以及它是如何重定向的吗?
<asp:LinkButton onfocus="this.click()" id="lnk_home" runat="server" AccessKey="h" onclick="lnk_home_Click">Home</asp:LinkButton>
<asp:LinkButton onfocus="postBack(this);" id="lnk_home" runat="server" AccessKey="h" onclick="lnk_home_Click">Home</asp:LinkButton>
<script type="text/javascript" >
function postBack(oLink) {
// some common code
oLink.click();
};
</script>
<asp:LinkButton onfocus="this.AllowClick=true;this.click();" OnClientClick="if (this.AllowClick) {this.AllowClick=false} else {return false}" id="lnk_home" runat="server" AccessKey="h" onclick="lnk_home_Click">Home</asp:LinkButton>