如何使用aspx参数调用html按钮onclick javascript函数?

时间:2013-09-26 08:52:01

标签: javascript html asp.net onclick

我需要将参数从repeater传递给javascript函数。但我不能这样做:

     onclick="myFunction(<%# ((myObject)Container.DataItem).myValue) %>)" 

它说语法错误。

我需要调用myFunction(myValue) javascript函数。 myValue必须来自

     <%# ((myObject)Container.DataItem).myValue) %>

这样做的正确方法是什么?

7 个答案:

答案 0 :(得分:1)

如果要在标记中编写所有内容(而不是在rowdatabound中或后面的代码中的某处),可以使用以下语法:

onclick = '<%# "myFunction(" + Container.DataItemIndex + ")" %>'

答案 1 :(得分:0)

您需要做的是添加几个引号:

onclick="myFunction("<%# ((myObject)Container.DataItem).myValue %>")"

这应该与你想要实现的目标一致。

答案 2 :(得分:0)

如果传递字符串

,请尝试此操作
onclick='<%# string.Format("myFunction(\"{0}\")",((myObject)Container.DataItem).myValue)%>'

否则使用以下......

onclick='<%# string.Format("myFunction({0})",((myObject)Container.DataItem).myValue)%>'

答案 3 :(得分:0)

尝试从服务器端添加onclick,

Control.Attributes.Add("onclick",((myObject)Container.DataItem).myValue)

答案 4 :(得分:0)

使用类似的东西。根据您的要求进行修改。

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);

}

希望这会对你有所帮助。

答案 5 :(得分:0)

尝试以下代码。

onclick="javascript:myFunction("<%=((myObject)Container.DataItem).myValue) %>")";

答案 6 :(得分:-1)

您应该使用=代替#

onclick = "myFunction(<%= ( (myObject)Container.DataItem).myValue ) %>)"