2008-11-14 53 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控件的屬性。所以它在特定場景下是相當可擴展的,直到運行時才能確定。

相關問題