2013-06-13 32 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