如何在点击后识别page_load中的Html Link(锚点)?

时间:2011-12-29 11:33:51

标签: c# asp.net webforms postback anchor

我的aspx页面中有一些锚点 我需要在点击后在page_load中确定它们(可以运行page_load) 如你所知,这些锚点不是常规的asp.net控件,当你点击它们时Page.IsPostBack总是假的 由于某些原因,我不能使用链接按钮 那么,如何在点击后确定page_load中的锚点?

提前致谢

2 个答案:

答案 0 :(得分:3)

嗯,我唯一的想法是在网址中使用参数,并使用它们来识别点击了哪个超链接。

<a href="page.aspx?linkName=link1">Link 1</a>
<a href="page.aspx?linkName=link2">Link 2</a>

在代码背后

string linkName = Request.QueryString["linkName"];
if (linkName = "link1")
{ // something
}

但是你不能使用LinkButtons或其他一些控件的原因是什么?这种方法在ASP.NET中会更方便。

答案 1 :(得分:1)

更优雅的方法是在javascript中使用__doPostBack函数(它已经存在于每个asp.net页面中)并设置适当的 事件targent和事件参数。这就是asp.net如何控制回发到服务器的帖子

例如。

<a id="LinkButton1" href="javascript:__doPostBack('Anchor1','')">LinkButton</a>

在服务器端,您可以按照以下方式处理点击事件

protected void Anchor1_Click(object sender, EventArgs e)
{
    Response.Write("Hello World !");
}