单击按钮/链接调用javascript和C#
我目前有一个Gridview,它带有一个itemTemplate,充当调用javascript函数的链接:单击按钮/链接调用javascript和C#,c#,javascript,asp.net,C#,Javascript,Asp.net,我目前有一个Gridview,它带有一个itemTemplate,充当调用javascript函数的链接: <ItemTemplate> <a href="javascript:;" onclick="simpleCart.add( 'name=<%# Eval("Name") %>' , 'price=<%# Eval("Price") %>' , 'quantity=1' );">Add To Cart</a&g
<ItemTemplate>
<a href="javascript:;" onclick="simpleCart.add( 'name=<%# Eval("Name") %>' , 'price=<%# Eval("Price") %>' , 'quantity=1' );">Add To Cart</a>
</ItemTemplate>
<asp:LinkButton
id="LinkButton1"
text="Add To Cart"
OnClientClick='<%# string.Format(""name={0}", "price={1}", "quantity=1"", Eval("Name"), Eval("Price")) %>'
OnClick="LinkButton1_Click"
runat="Server" />
我需要添加一些只能在C#中使用的功能,因此我想用按钮替换链接,当单击按钮时,它会调用C#函数和javascript函数(它们不需要交互/共享任何数据)。这可能吗?是的,有可能
听起来您希望避免整页回发,因此可以使用ASP.NET回调或更普通的Ajax调用(可能使用jQuery)来调用服务器端代码。(我假设您的C#代码在服务器上,而不是在本地Silverlight应用程序中)。您可以使用LinkButton并设置OnClientClick属性以在转到服务器之前执行javascript函数。如果此函数返回false,甚至可以取消服务器调用:
<ItemTemplate>
<a href="javascript:;" onclick="simpleCart.add( 'name=<%# Eval("Name") %>' , 'price=<%# Eval("Price") %>' , 'quantity=1' );">Add To Cart</a>
</ItemTemplate>
<asp:LinkButton
id="LinkButton1"
text="Add To Cart"
OnClientClick='<%# string.Format(""name={0}", "price={1}", "quantity=1"", Eval("Name"), Eval("Price")) %>'
OnClick="LinkButton1_Click"
runat="Server" />
您可以使用
OnClientClick
属性的LinkButton
来执行客户端脚本和服务器代码的OnClick
事件
下面是代码示例和更详细的说明何时需要调用javascript函数?在服务器端之前还是之后?在这种情况下没有真正的区别。我想这就是我必须要做的,但是现在我得到了错误“服务器标记的格式不正确”。问题在于javascript部分(onClientClick),我只是复制了我的原始帖子中的内容。p、 我很抱歉花了这么长时间才回复,周末就离开了