【发布时间】:2011-12-06 14:49:46
【问题描述】:
我有一个 gridview,它有一行包含动态添加的 LinkButtons。 单击这些链接按钮时,我需要显示一个确认对话框。 我尝试按照这篇文章中的建议工作: JQuery DIalog and ASP.NET Repeater 但它不起作用,postBackReference 不包含正确的 ID(它忽略占位符) 这是我的代码:
GridView1_RowCreated(Object sender, GridViewRowEventArgs e)
{
//some code here
LinkButton lb = new LinkButton();
lb.Text = "something";
lb.ID = "someId";
string postBackReference = ClientScript.GetPostBackEventReference(lb, string.Empty);
lb.OnClientClick = "javascript: showConf(function(){"+ postBackReference +"});return false;";
TableCell cell = new TableCell();
cell.Controls.Add(lb);
e.Row.Cells.Add(cell);
}
有人有想法吗?
【问题讨论】:
-
找到了!应该改用 RowDataBound 事件(用于使用 asp.net __doPostback 注册我的 JS 函数)
-
我明白你的意思。无论您是在
OnRowDataBound还是OnRowCreated上执行此操作,我都会使用您的 own id 向showConfirmation函数添加一个额外的参数,这样您就不必解析服务器端id 以了解您正在操作的记录。我在答案的 cmets 部分添加了一些细节。
标签: c# javascript jquery asp.net