0
<a id='aApp' runat='server' title='Approve' onclick='return OpenAppWin("<%#Eval("ID1") %>",
"<%#Eval("ID2") %>","<%#Eval("NAME") %>")' class='label' href='#'>Approve</a>

我需要将 3 个参数作为查询字符串传递给 iframe,我使用带有锚点的 runat='server' 的原因是为了向用户显示他们无法单击此链接,直到他们提交我在服务器端执行的“备注”,即禁用链接。Onclick 我收到此错误 请建议任何替代方法或如何解决此错误?

4

1 回答 1

0

您将双引号括在双引号中,使用单引号和双引号组合来避免这种情况。

onclick="return OpenAppWin('<%#Eval("ID1")%>','<%#Eval("ID2") %>','<%#Eval("NAME") %>');"

根据评论编辑,在服务器端绑定javascript事件

在服务器端的 RowDataBound 事件中绑定 javascript 事件。

void gridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
  if (e.Row.RowType == DataControlRowType.DataRow)
  {
      HyperLink link = (HyperLink)e.FindControl("aApp");
      link.Attribute.Add("onclick", ="return OpenAppWin('"+ DataBinder.Eval(e.Row.DataItem, "ID1") + "','" + DataBinder.Eval(e.Row.DataItem, "ID2") + "', '" + DataBinder.Eval(e.Row.DataItem, "Name") + "');"
  }
}
于 2017-04-05T06:57:20.180 回答