将 onserverclick 事件动态添加到 HtmlAnchor
本文关键字:HtmlAnchor 添加 动态 onserverclick 事件 | 更新日期: 2023-09-27 18:31:00
我有一个页面,想将onserverclick事件附加到我现有的HtmlAnchor.
在设计视图中,我首先添加控件
<a runat="server" id="lnkFre" title="FR" onclick="document.getElementById('ctl00_hidLang').value='en-US';"><span>Français</span> </a>
我试过这样。
HtmlAnchor lnkFre = FindControl("lnkFre") as HtmlAnchor;
lnkFre.ServerClick += new EventHandler(lnkLang_Click);
这里的lnkLang_Click是类中的一个事件,可以从此页面访问。
但在运行时不会添加它。
我希望有这样的东西。
<a runat="server" id="lnkFre" title="FR" onserverclick="lnkLang_Click" onclick="document.getElementById('ctl00_hidLang').value='fr-BE';"><span>Français</span> </a>
这样可能吗?或者请向我推荐另一种方法。
多谢
这对
我有用:
.HTML
<a href="#A" runat="server" id="MyAnchor" onclick="alert('test');return true;">A</a>
代码隐藏
protected void Page_Load(object sender, EventArgs e)
{
HtmlAnchor lnkFre = MyAnchor as HtmlAnchor;
lnkFre.ServerClick += new EventHandler(lnkFre_ServerClick);
}
void lnkFre_ServerClick(object sender, EventArgs e)
{
throw new NotImplementedException();
}
您显然无法在运行时看到标记,因为事件是动态绑定的,但它将调用服务器单击事件。
另请注意 onclick 事件结束时的return(true);
。这是服务器单击也触发所必需的。