我的aspx页面中有一些锚点
我需要在点击后在page_load中确定它们(可以运行page_load)
如你所知,这些锚点不是常规的asp.net控件,当你点击它们时Page.IsPostBack
总是假的
由于某些原因,我不能使用链接按钮
那么,如何在点击后确定page_load中的锚点?
提前致谢
答案 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 !");
}