您好我想根据查询显示或隐藏重复记录。所以,我需要知道如何从C#codebehind调用javascript函数。
<a onclick="Grid1.insertRecord(); return false;" id="a2" href="javascript:">Save</a>
当我点击保存时,我需要显示一个用javascript编写的弹出窗口。
if (!exist)//exists is the query
{
System.Web.UI.Control my = FindControl("a2");
a2.Attributes.Add("onclick", "retrun HideDuplicate()");
此行返回错误,指出“当前上下文中不存在a2。”
答案 0 :(得分:1)
为什么不使用asp.net LinkButton?它有一个服务器端Click
事件,可以从c#代码隐藏中访问。
答案 1 :(得分:1)
除非你向它添加一个runat =“server”,否则基本的<a>
标记不会被asp.net变成一个控件。然后它变成HtmlGenericControl。
<a onclick="Grid1.insertRecord(); return false;" id="a2" href="#" runat="server">Save</a>
这可能对您有用 - 如果您在页面上有多个这样的链接(例如在gridview的一行中?)或者它只是在那里一次就不清楚它。
你使用javascript的方式也没有遵循最佳实践,但那是另一天的讨论:)
答案 2 :(得分:1)
带有programatic creation of client side callbacks without postback的example where the code behind is in C#的MSDN文档可能会很好地概述它应该如何工作。
在您的情况下,相应的代码隐藏应该实现接口'ICallbackEventHandler'及其描述的两种方法。此外,除了执行程序/调用程序(在您的情况下,是“保存”方法)之外,您还需要两个客户端Javascript函数来准备和处理回调。但是,如示例所示,可以在代码隐藏中注册另外两个Javascript函数之一。