Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 点击后如何识别页面加载中的Html链接(锚定)?_C#_Asp.net_Webforms_Postback_Anchor - Fatal编程技术网

C# 点击后如何识别页面加载中的Html链接(锚定)?

C# 点击后如何识别页面加载中的Html链接(锚定)?,c#,asp.net,webforms,postback,anchor,C#,Asp.net,Webforms,Postback,Anchor,我的aspx页面中有一些锚。 单击后,我需要在页面加载中确定它们(因为要运行页面加载)。 正如您所知,这些锚定不是常规的asp.net控件,当您单击它们时,Page.IsPostBack始终为false。 由于某些原因,我无法使用链接按钮。 那么,单击后如何确定页面加载中的锚定 提前感谢好吧,我唯一的想法是在url中使用参数,并使用它们来标识单击了哪个超链接 <a href="page.aspx?linkName=link1">Link 1</a> <a href=

我的aspx页面中有一些锚。
单击后,我需要在页面加载中确定它们(因为要运行页面加载)。
正如您所知,这些锚定不是常规的asp.net控件,当您单击它们时,
Page.IsPostBack
始终为false。
由于某些原因,我无法使用链接按钮。
那么,单击后如何确定页面加载中的锚定


提前感谢

好吧,我唯一的想法是在url中使用参数,并使用它们来标识单击了哪个超链接

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

但是您不能使用
链接按钮
或其他控件的原因是什么?这种方法在ASP.NET中会更方便。

好吧,我唯一的想法是在url中使用参数,并使用它们来标识单击了哪个超链接

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

但是您不能使用
链接按钮
或其他控件的原因是什么?这种方法在ASP.NET中会更方便。

一种更优雅的方法是在javascript中使用u doPostBack函数(它已经存在于每个ASP.NET页面中)并设置appropiate 事件目标和事件参数。这就是asp.net控件发回服务器的方式

比如说

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

一种更优雅的方法是在javascript中使用_doPostBack函数(它已经存在于每个asp.net页面中)并设置appropiate 事件目标和事件参数。这就是asp.net控件发回服务器的方式

比如说

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

检查查询字符串或Page.RawUrl,您应该在那里捕获#anchorName,我猜…检查查询字符串或Page.RawUrl,您应该在那里捕获#anchorName,我猜…+1,另一个技巧是使用
,浏览器将其添加到当前URL中。+1,另一个技巧是使用
,浏览器会将其添加到当前的URL中。好吧,你说得对,但是我个人不喜欢创建这样的解决方案,这些解决方案对我来说似乎并不明显和可读。不是说我的解决方案更好——只是更具可读性。最好的方法就是不要使用锚,而是坚持使用Asp.Net控件。很多东西都是从开发人员那里抽象出来的(不是开发人员不应该知道的)。将基于windows窗体的编程移植到web需要Microsoft引入这些类型的黑客(uu doPostBack,ViewState)。对于干净易读的基于web的编程来说,MVC是通往goWell的道路,你是对的,但是就我个人而言,我不喜欢创建这样的解决方案,这些解决方案对我来说似乎并不明显和可读。不是说我的解决方案更好——只是更具可读性。最好的方法就是不要使用锚,而是坚持使用Asp.Net控件。很多东西都是从开发人员那里抽象出来的(不是开发人员不应该知道的)。将基于windows窗体的编程移植到web需要Microsoft引入这些类型的黑客(uu doPostBack,ViewState)。对于干净易读的基于web的编程来说,MVC是一个不错的选择