2011-12-13 41 views
0

所以我有一個頁面,它有多個文本框,鏈接按鈕和按鈕。目前,用戶點擊鏈接按鈕「編輯」,允許他們通過文本框在該行輸入數據。但是,按下Enter後,其中一個按鈕的事件就會被觸發......這根本不是所希望的。顯然,這是內置的默認行爲?這是一個很好的解決方法,用於在文本框中輸入按鈕提交?

是否可以將每個文本框關聯起來,以便按下回車將對特定的分配的鏈接按鈕或按鈕執行操作,而不會將文本框設置爲單獨的窗體?

如果這是不可能的,我會嘗試創建一個按鈕並將其設置爲默認的表單按鈕,但禁用並隱藏它,以便按下Enter鍵不會提交任何內容。

謝謝!

回答

1

您可以在Button控件上將UseSubmitBehavior屬性設置爲「false」。這會使該按鈕呈現爲<input type="button" />標記,而不是<input type="submit" />標記。因此,按下Enter鍵不會導致按鈕被按下,除非按鈕實際上具有焦點。

<asp:Button runat="server" UseSubmitBehavior="false" ... /> 
1

您可以覆蓋每個文本框的KeyPress事件以捕獲回車鍵,然後觸發相應按鈕的代碼。

if(e.KeyChar == '\n') 
    // execute button code 
1

,你可以把它們放在不同的面板,並使用defaultbutton屬性來告訴面板,按鈕被按下時輸入使用。

+0

我讀過這是一個可能的解決方案,但其他答案似乎更合理,然後完全重新設計.aspx頁面。 – OneFreeFitz 2011-12-13 20:01:37

相關問題