![](/img/trans.png)
[英]JavaScript/HTML - Passing onclick button parameter to JavaScript function
[英]How to call html button onclick javascript function with aspx parameter?
我需要将参数从中继器传递到javascript函数。 但是我不能这样做:
onclick="myFunction(<%# ((myObject)Container.DataItem).myValue) %>)"
它说语法错误。
我需要调用myFunction(myValue)
javascript函数。 而myValue
必须来自
<%# ((myObject)Container.DataItem).myValue) %>
正确的方法是什么?
如果您想将所有内容都写在标记中(而不是在rowdatabound或后面的代码中的某处),则可以使用以下语法:
onclick = '<%# "myFunction(" + Container.DataItemIndex + ")" %>'
您需要做的是添加几个引号:
onclick="myFunction("<%# ((myObject)Container.DataItem).myValue %>")"
这应该与您要实现的目标一起使用。
如果您传递字符串,请尝试此
onclick='<%# string.Format("myFunction(\"{0}\")",((myObject)Container.DataItem).myValue)%>'
否则使用以下...
onclick='<%# string.Format("myFunction({0})",((myObject)Container.DataItem).myValue)%>'
尝试从服务器端添加onclick,
Control.Attributes.Add("onclick",((myObject)Container.DataItem).myValue)
使用类似这样的东西。根据您的要求进行修改。
protected void Gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
var jsFunction = String.Format("Javascriptfunctionname('{0}','{1}');", parameter1, parameter2);
Gridcontrol.Attributes.Add("onclick", jsFunction);
}
希望这会帮助你。
试试下面的代码。
onclick="javascript:myFunction("<%=((myObject)Container.DataItem).myValue) %>")";
您应该使用=
而不是#
onclick = "myFunction(<%= ( (myObject)Container.DataItem).myValue ) %>)"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.