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;
}
}
请提出任何解决此问题的建议。
抱歉,这个问题可能会重复其他问题,我无法找到解决问题的方法。
感谢。
答案 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 + "'));");