OnClientClick OnClick

时间:2012-02-28 15:29:31

标签: javascript asp.net

在我的asp页面中,我使用applet截取客户端桌面的屏幕截图,并要求他们只需单击LinkButton即可将其发送到服务器。我使用runApplet()函数调用我的applet来捕获屏幕并将字符串值分配给隐藏值。 (图片存储为base64字符串)直到这里,一切都很完美!但是,SendLinkBut​​ton_Click似乎没有执行!

这是我的链接按钮。

<asp:LinkButton ID="SendLinkButton" 
          OnClientClick="runApplet(); return false;"
          OnClick="SendLinkButton_Click" 
          Visible="false" 
          CssClass="portal-arrow portal-button"
          runat="server">Send</asp:LinkButton>

这是我的Javascript功能

   function runApplet() {

      var msg = document.capture.capture();
      var hiddenControl = '<%= inpHide.ClientID %>';
      document.getElementById(hiddenControl).value = msg;
   }

这就是SendLinkBut​​ton_Click

中的内容
protected void SendLinkButton_Click(object sender, EventArgs e)
{
    Server.Transfer("Preview.aspx", true);
}

当我将javascript函数放入LinkBut​​ton的OnClientClick时,并使用另一个LinkBut​​ton执行此“SendLinkBut​​ton_Click”。它完美无缺!但我希望他们只需点击一下即可使用!

请帮忙!

2 个答案:

答案 0 :(得分:3)

您的客户端点击返回false,因此在此之后不会对服务器进行回发。

尝试更改:

OnClientClick="runApplet(); return false;"

OnClientClick="runApplet();"

答案 1 :(得分:2)

从OnClientClick属性中删除return false。如果从中返回false,则不会执行回发。