在链接按钮中复制href

本文关键字:复制 href 按钮 链接 | 更新日期: 2023-09-27 18:17:46

我在repeater内使用LinkButton,我正在从代码后面设置href属性,但在浏览器中,当我查看页面源时,有两个href生成如下所示。

<li id="HeaderMenu_repeaterLevel1Menu_mainMenuLi_0" >
    <a id="HeaderMenu_repeaterLevel1Menu_linkButtonMenu_0"
       href="/Home" href="javascript:__doPostBack(&#39;ctl00$HeaderMenu$repeaterLevel1Menu$ctl00$linkButtonMenu&#39;,&#39;&#39;)">Home</a>
</li>
下面的

是我的代码

<asp:LinkButton ID="linkButtonMenu" runat="server"
  CommandName="<%# ((BusinessObjects.Pages.Menu)Container.DataItem).ID %>"
  href="<%# ((BusinessObjects.Pages.Menu)Container.DataItem).URL %>">
</asp:LinkButton>

我在检查w3c错误时发现此问题。如何移除href="javascript:__doPostBack...

谢谢你的帮助。
谢谢。

在链接按钮中复制href

HyperLink代替LinkButton

从MSDN:

使用LinkButton控件在控件上创建超链接样式的按钮Web页面。控件的外观与超链接控件,但具有与按钮控件相同的功能。如果要在单击控件时链接到另一个网页,请考虑使用HyperLink控件。

链接按钮用于发送回页面,而不是重定向到其他页面。

当您自己设置href并使用命令名ASP时存在矛盾。网络处理(就像你不能决定谁负责)。

所以你不应该自己设置"href",你应该设置PostBackUrl属性。
或者使用超链接,如果它更适合你的需要。