簡體   English   中英

ASP.NET:asp:禁用Javascript的LinkBut​​ton?

[英]ASP.NET: asp:LinkButton with Javascript disabled?

我想使用asp:LinkButton ,因為它看起來像一個鏈接,但也有服務器端點擊處理程序。

但是,Web服務器似乎無法檢測到客戶端上是否禁用了javascript,並且無法呈現為仍然有效的機制。

是否有可能有一個看起來像鏈接,但有服務器端OnClick事件處理程序的鏈接?


回答

答案是否定的,但下面是一些解決方法的想法。 接受了非零向上投票的那個。

您可以使用CSS將按鈕設置為看起來像鏈接,但這將取決於CSS實現,這將取決於瀏覽器。


編輯:我覺得有必要完成我的答案,因為它已被接受。

asp:LinkButton呈現為HTML鏈接,因此無法發布到網頁; 但只能使GET請求。 要解決此問題,請使用JavaScript來操作帖子。 但是,如果禁用Javascript,則無法執行此操作。

asp:Buttonasp:ImageButton是不同的。 他們通過使用真正的HTML表單元素發布到網頁(或取決於表單屬性)來提交HTML表單。 所以這些都可以在沒有JS干預的情

有些瀏覽器會允許CSS樣式將按鈕設置為看起來像鏈接,因此這可以用來解決問題。

只是一個想法:

渲染輸入按鈕並使用javascript將其更改為鏈接。 該按鈕適用於非啟用javascript的瀏覽器,並成為擁有javascript的用戶的鏈接。

在ASP.Net中有這樣的東西,我通常會渲染控件,以及一個用JavaScript隱藏的“可訪問控件”。 因此,在這種情況下,它將呈現一個LinkBut​​ton(默認情況下通過樣式隱藏)和一個普通按鈕,注冊了一些javascript以隱藏Button並顯示LinkBut​​ton。

對於ASP.Net控件而言,這是一個非常常見的解決方法,如果沒有javascript,或者在沒有Javascript的情況下需要“Autopostback”時效果不佳。

沒有INPUT類型看起來像鏈接。 如果要使用鏈接在網頁上執行INPUT類型活動,則必須導航到您所在的同一頁面。

您可以使用鏈接傳遞查詢字符串變量,並對其進行響應。 它不會完全像回發一樣,而只會導航到您所在的同一頁面。

只是為了記錄,你所要求的是可能的。

您必須像這樣配置控件:

<asp:LinkButton ID="lbtnRequestReview" Text="[ Request Plan Review ]" OnCommand="lbtnRequestReview_Command" CommandName="cmd" CommandArgument="0" CausesValidation="false" runat="server"/>

把它放在代碼隱藏中:

protected void lbtnRequestReview_Command(Object sender, CommandEventArgs e)
        {
           //...
        }

您可以在此處找到更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM