这是我在asp gridview上的rowdatabound事件的代码
protected void jobGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
(e.Row.FindControl("TitleLink") as LinkButton).Attributes.Add("onClick", "RedirectPage('" + jobListTable.Rows[e.Row.RowIndex + (jobGridView.PageIndex * 10)]["job_id"].ToString() + "')");
}
}
我的java脚本代码
<script type="text/javascript">
function RedirectPage(ID) {
window.location = "Login.aspx";
}
</script>
但是,我的代码不起作用,有人可以告诉我原因吗?
答案 0 :(得分:0)
好吧,LinkButton
是一个服务器控件。如果您要绑定到javascript函数,而不是onClick
,则应该定位onClientClick
。另外,为了防止回发,你应该从javascript函数return false
。
查找下面的代码(为了简单起见我已经删除了javascript函数中的参数;您可以根据需要应用它)
C#代码背后(注意onClientClick
部分)
protected void jobGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
(e.Row.FindControl("TitleLink") as LinkButton).OnClientClick = "javascript:return RedirectPage();";
}
}
javascript函数(注意return false
部分)
<script type="text/javascript">
function RedirectPage() {
window.location = 'Login.aspx';
return false;
}
</script>