2008-11-14 54 views
1

我正在修改一些由另一个国家的自由职业者开发的应用程序中的一些ui。为什么有人会在导航中使用Button而不是LinkBut​​ton控件

我不打算进入的代码有多么糟糕,并纠缠着结构的内容和表现均码...

但我注意到的事情之一是访问应用程序的组成部分:菜单使用按钮控件发布到服务器并返回不同的页面。我想将按钮更改为LinkControls有没有人有可能做到这一点的原因?

我注意到,当我在变向了LinkBut​​ton实际上存在的JavaScript,似乎触发后的动作。任何原因或方法来避免这种情况?

+0

什么是'LinkControl'?我知道LinkBut​​ton和HyperLink。 – Kon 2008-11-14 15:43:13

回答

2

你可以重新风格的按钮看起来像链接,那么你就可以维护任何服务器端代码,而不必依赖于JavaScript像LinkBut​​ton的一样。

.linkButton 
{ 
    background-color: transparent; 
    border-style: none; 
    color: /* Something nice */ 
    cursor: pointer; 
    text-align: left; 
    text-decoration: underline; 
    display: table-cell; 
} 

当然,如果这些按钮简单地用于导航,不需要任何服务器端逻辑,那么好的旧的HTML链接会做就好了......

+0

我实际上可能会重新访问这个 – 2008-11-14 16:00:42

0

一个LinkBut​​ton就是这样 - 用JavaScript代码提交页面的形式的锚标记。如果你不想要这种行为,不要使用链接按钮。只需使用标准的锚标签即可。

我已经使用了LinkBut​​ton,在过去,因为它是一个非常简单的方法,用常规HTML链接的样式合并一个按钮的行为。 Noobs也可能会使用它们,因为它是一种创建链接的简单方法,但他们还不知道更好。

0

如果你想要的是锚,其性质可以在服务器端进行操作和不回发到服务器,然后使用HyperLink控件。如果您想将点击返回到服务器,请使用LinkBut​​ton控件。

0

有一件事要记住使用的LinkBut​​ton的,如果你”重新计划使用Ajax的许多Ajax解决方案将在LinkBut​​ton的OnClick事件中插入JavaScript,这不是链接的有效事件。有些浏览器会处理诸如Internet Explorer等代码,而其他浏览器则会忽略它,例如Firefox。

0

你问什么是链路控制:

平原和简单链路控制显示文本充当一个用于服务器端的表单处理的超链接。超链接可以导致在同一个ASP.NET网页或任何其他URL上的另一种形式。

链路控制必须放在Form或Panel控件内,或控件的模板中。在Text属性中输入链接的文本。使用NavigateUrl属性指定链接的目标URL。

通过数据绑定,您可以动态地提供Link控件的属性。所以它在特定场景下是相当可扩展的,直到运行时才能确定。

相关问题