我在带有参数的javascript中有函数,我希望在Gridview绑定其数据时多次调用此函数。所以我把代码放在这个
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (((DataRowView)e.Row.DataItem) != null)
{
Page.ClientScript.RegisterStartupScript(this.GetType(),new Random().Next(100).ToString(),
"likeStatus('"+argument+"')", true);
}
}
每次我更改key
的值,但此函数只调用一次。
所以请帮助我在Gridview绑定的每次迭代中如何调用函数。
提前致谢
答案 0 :(得分:1)
问题在于,如果您需要随机性,则需要使用Random
的相同实例,并且每次都无法创建新实例。您现在的方式可能每次都会生成相同的值。 (另请注意,随机值与唯一值不同)
为了解决这个问题,我会做一些不同的事情。
在您的班级中声明StringBuilder
作为字段。在绑定网格之前创建它:
sb = new StringBuilder();
gridView.DataBind();
然后在RowDataBound
的{{1}}事件中写入构建器。
GridView
最后在if (e.Row.RowType == DataControlRowType.DataRow)
{
if (((DataRowView)e.Row.DataItem) != null)
sb.Append("likeStatus('"+argument+"');");
}
注册脚本字符串
PreRender
或者使用唯一值作为键,例如Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript",
sb.ToString(), true);