如何解决在onserverclick中传递参数
| 使用此行代码时,出现错误 CS1040:预处理器指令必须作为一行中的第一个非空白字符出现 此代码在标记下,并位于asp:Repeater控件内<td valign=\"bottom\" width=\"130\">
<%# Eval(\"Quantity\")%>+ in stock<br />
<input class=\"textbox\" maxlength=\"2\" name=\"Quantity\" size=\"2\" type=\"text\" value=\"1\" />
<br />
<a id=\"A1\" class=\"positive\" runat=\"server\"
onserverclick=\'addtocart(<%#Eval(\"ProductDescriptionId\")%>,Quantity)\'> Add to Cart</a>
解决方法
由于onserverclick是在服务器端评估的,因此#被视为C#指令。您可以将
<%#Eval(\"ProductDescriptionId\")%>
替换为DataBinder.Eval(Container.DataItem,\"ProductDescriptionId\")
。
,确保ѭ3跨越整个属性,如下所示:
<a id=\"A1\" class=\"positive\" runat=\"server\"
onserverclick=\'<%# \"addtocart(\"+Eval(\"ProductDescriptionId\").ToString()+\",Quantity)\"%>\'>
另外,您可以在Eval
方法上使用内置格式:
<a id=\"A1\" class=\"positive\" runat=\"server\"
onserverclick=\'<%# DataBinder.Eval( Container.DataItem,\"ProductDescriptionId\",\"addtocart({0},Quantity)\")%>\'>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。