SyntaxError: missing ) after argument list with 3 parameters

SyntaxError: missing ) after argument list with 3 parameters

<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' 的原因是向用户展示他们不能点击此 link 直到他们提交 "remarks" 我在服务器端做的,即禁用 link。单击我收到此错误请告知任何替代方法或如何修复此错误?

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

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") + "');"
  }
}