0

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

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

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

4

2 回答 2

0

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

ibCancel.Attributes.Add("onclick", "return(CancelAdminExtension('" + hidRemarks.ClientID + "','" + bPastExtension + "','" + hidDelRecNr.ClientID + "','" + hidRecNr.Value + "','" + hidDelPurpose.ClientID + "','" + hidPurpose.Value + "'));");
于 2012-08-07T09:50:45.813 回答
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 事件。

于 2012-08-07T09:05:36.000 回答