Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
发送';这';作为参数从web控件到javascript函数_Javascript_Asp.net - Fatal编程技术网

发送';这';作为参数从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单击
inside
postBack
。此外,请参阅此提琴(按alt-h进行测试):-问题不在于将
传递到
回发
,而在于将
函数回发(e)
中的客户端变量
e
标记之间的服务器端代码混合在一起。它们不是同时存在的
this
onfocus=“postBack(this);”
也是客户端DOM元素,而不是服务器端控件引用。它不仅仅是一个按钮,我说有10个按钮。我应该对所有的按钮都这样做吗?它工作了,但过了一段时间我不知道为什么会抛出以下异常:JavaScript运行时错误:Sys.ParameterCountException:Parameter count mismatch。有什么帮助吗?我认为这与上面的代码无关,
这个。click()
是非常基本的。但以防万一,请尝试第二种方法,而不是仅使用
oLink.click()
use
setTimeout(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>