2013-06-13 31 views
1

我想在asp.net WebForms應用程序中選擇TextBox控件的某個區域。 情況是該文本框包含由;分隔的電子郵件地址。我寫了一個小小的MailValidator類,用來分類有效和無效的電子郵件地址。asp.net TextBox只選擇特定文本

現在我想要選擇錯誤的電子郵件地址,以便用戶可以立即糾正。 正如我所提到的,我知道哪些地址是有效的,哪些不是。

我該怎麼做? 我知道如何選擇整個文本與.Focus()(作品至少在IE中,這就夠了) 但我怎樣才能只選擇某個地區? 是TextBox.Text.Select<>要走的路嗎?如果是這樣,有人可以提供一個例子嗎? 我不完全瞭解.Select<>實際上做了什麼。

+1

'TextBox.Text.Select <>'不用於選擇文本框內的特定文本。 '.Select <>'是可應用於任何列表或數組的投影算子。由於'TextBox.Text'返回一個'String',即一個'char'類型的數組,所以你在VS智能中看到'Select <>'。它與選擇文本框數據無關。所以不要被這個混淆! –

+0

謝謝。我已經懷疑。選擇<>與文本選擇無關。 – Mathew

回答

1

我想你需要使用使用此功能的Javascript,你只需要找到你選擇的開始和結束。

function createSelection(field, start, end) { 
    if(field.createTextRange) { 
     var selRange = field.createTextRange(); 
     selRange.collapse(true); 
     selRange.moveStart('character', start); 
     selRange.moveEnd('character', end); 
     selRange.select(); 
     field.focus(); 
    } else if(field.setSelectionRange) { 
     field.focus(); 
     field.setSelectionRange(start, end); 
    } else if(typeof field.selectionStart != 'undefined') { 
     field.selectionStart = start; 
     field.selectionEnd = end; 
     field.focus(); 
    } 
    } 
+0

好的,所以用c#是不可能的。現在我只需要弄清楚如何在asp.net中訪問javascript(是的,我對asp.net相當陌生:))但是我相信我會到達那裏。感謝你的回答!我將在稍後報告。 – Mathew

+0

會是這樣的: '' – Mathew

+0

Discreg the this comment。關鍵字'this'足以說明我想要使用哪個字段的功能。非常感謝您的幫助!問題標記爲已回答。 – Mathew