具有3个参数的参数列表后面的SyntaxError:missing)

时间:2017-04-05 06:37:26

标签: javascript asp.net javascript-databinding

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

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

1 个答案:

答案 0 :(得分: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") + "');"
  }
}