Вы можете построить все содержимое OnClientClick
в виде строки в скобках кода, и оно будет выводиться так, как вы ожидаете.
<asp:LinkButton runat="server" ID="lbtnEdit" Text="edit"
OnClientClick='<%# "msgDisp(" + Eval("LocationId") + ");" %>' />
Это предполагает, что LocationId является допустимым числом - естьнет кавычек, чтобы обернуть ваше значение при рендеринге, поэтому вывод что-то вроде msgDisp(hello);
будет прерываться.Я не знаю, как решить эту проблему таким образом, поэтому, если вам нужно это сделать, я бы рекомендовал установить OnClientClick
на стороне сервера во время события ItemDataBound
.Вот что хотелось бы, чтобы родительский элемент был Repeater
.
protected void notesRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
MyClass item = (MyClass)e.Item.DataItem;
LinkButton lbtnEdit = (LinkButton)e.Item.FindControl("lbtnEdit");
lbtnEdit.OnClientClick = string.Format("msgDisp('{0}');", item.LocationId);
}