繁体   English   中英

“ onClick”事件未触发JavaScript中的首次按钮单击

[英]'onClick' event not firing first time button click in JavaScript

Gridview每行都有按钮,例如删除/编辑按钮。 这些按钮与客户端方法(onClick)绑定,不再与服务器端方法绑定。

问题是,当我第一次单击时,按钮没有触发客户端方法,但是当我第二次单击时它的工作..

这不是一个严重的问题。 因为,我已经检查了所有浏览器。 不工作

代码:我已将此属性绑定到gridview xx_RowDataBound方法下。

ibCancel.Attributes["OnClick"] = "javascript: return CancelAdminExtension('" + hidRemarks.ClientID + "','" + bPastExtension + "','" + hidDelRecNr.ClientID + "','" + hidRecNr.Value + "','" + hidDelPurpose.ClientID + "','" + hidPurpose.Value + "');";

JavaScript方法:

function CancelAdminExtension(strPurposeID, strPastExtension, strDelRecNr, strRecNr, strDelPurpose, strPurpose) {
  try
  {
      //some logic here

      hidDelRecNr.value = strRecNr;
      hidDelPurpose.value = strPurpose;

      return true;
  }
  catch(err)
  {
      return false;
  }
}

请提出解决此问题的任何想法。

抱歉,这个问题可能会重复其他问题,我找不到解决我问题的解决方案。

protected void uxCustomGridView_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {                           

           LinkButton uxEditLinkButton = (LinkButton)e.Row.FindControl("uxEditLinkButton");
           uxEditLinkButton.Attributes["onclick"] = string.Format("return doEdit({0})", item.ID);      
        }
    }

第一次点击会有什么反应吗? 通常,我使用下面的代码在后端绑定客户端事件。

或者,您也可以使用简单的警报功能来测试onclick事件。

尝试使用一次Attributes.Add(“ onclick”,“ script”)
而不是Attributes [“ OnClick”]

ibCancel.Attributes.Add("onclick", "return(CancelAdminExtension('" + hidRemarks.ClientID + "','" + bPastExtension + "','" + hidDelRecNr.ClientID + "','" + hidRecNr.Value + "','" + hidDelPurpose.ClientID + "','" + hidPurpose.Value + "'));");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM