'onClick'事件未在JavaScript中首次点击按钮

时间:2012-08-07 08:26:21

标签: c# javascript asp.net javascript-events client-side

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;
  }
}

请提出任何解决此问题的建议。

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

感谢。

2 个答案:

答案 0 :(得分:0)

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事件。

答案 1 :(得分:0)

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

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