2010-10-10 81 views
1

我开发了一个web应用程序,在那个主页我使用链接按钮并在链接按钮单击事件中编写了一些代码,问题是当我右键单击链接按钮时,我没有在链接按钮的新选项卡中找到打开选项,我能解决这个问题吗?请你帮我。asp.net中的链接按钮?

+1

linkbutton href是JavaScript,所以浏览器不能在新窗口中打开它,它是一个必须运行的脚本。如果你解释为什么你想这样做,那么我们可以帮助你。 – 2010-10-10 05:54:24

+0

@jarrett其实我的客户想要这个功能。有没有解决办法或替代方案 – 2010-10-10 05:56:20

+1

如果你的链接位置是在服务器端计算的,你可以添加一个HTML锚点标签,例如'',并在后面的代码中作为'HtmlAnchor'来访问它。然后,您可以在服务器端设置计算出的href。将当前的javascript保存在onclick事件中,但是在函数结束时,返回false;所以点击不会继续到服务器。 – 2010-10-10 06:10:21

回答

0

LinkButton control就像一个按钮。

如果您想要使用href行为,请使用HyperLink control

<asp:HyperLink ID="HyperLink1" runat="server">HyperLink</asp:HyperLink> 


HyperLink1.Text = "Go to StackOverflow"; 
HyperLink1.NavigateUrl = "http://www.stackoverflow.com"; 
+0

但我怎样才能在超链接编写代码, – 2010-10-10 06:00:23

+0

使用NavigateUrl从后面的代码。我编辑了我的代码。 – bla 2010-10-10 06:06:31

+2

这会工作,但明白你失去了“点击”事件。这会呈现为常规锚标记。 @Surya - 你可以有一个LinkBut​​ton,它有一个点击事件并呈现为“特殊”定位标记(带有onclick),或者你可以有一个超链接作为具有href的定位标记呈现。您不能同时拥有HREF和服务器端点击(AFAIK)。 – RPM1984 2010-10-10 06:10:53

0

我想@jarrett意味着他的评论是一个LinkBut​​ton控件生成HTML结果是javascript: HREF,没有一个href到URL - 这是沿javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ctl00$ContentPlaceHolder1$loginBtn", "", true, "", "", false, true))

行如果某样东西你需要标准定位标记/ HyperLink的html输出(和相应的客户端浏览器行为,包括右键单击以在新标签页或窗口中打开),然后在页面中使用标准定位标记<a href="pageurlhere.com">Link to your page</a>

如果需要能够从代码隐藏(assumi)中访问锚标签ng Web Forms应用程序),那么您可以将runat="server"添加到标记中,并将其置于服务器端的Html控件中,这可供您的代码隐藏。

+0

@ RPM1984对于我没有考虑过的点击事件很有帮助,所以我的回答显然可能无法满足您的需求。 – cori 2010-10-10 06:17:14