在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)\")%>\'>
    

要回复问题请先登录注册