asp.net TextBox只选择某些文本

时间:2013-06-13 06:51:51

标签: asp.net textbox webforms

我想在asp.net WebForms应用程序中选择TextBox控件的某个区域。 情况是文本框包含由;分隔的电子邮件地址。我写了一个小的MailValidator类来排序有效和无效的电子邮件地址。

现在我希望选择错误的电子邮件地址,以便用户立即纠正。 正如我所提到的,我知道哪些地址有效,哪些地址无效。

我该怎么做? 我知道如何用.Focus() 选择整个文本(至少在IE中工作,这就够了) 但是我怎样才能选择某个区域呢? TextBox.Text.Select<>是可行的吗?如果是这样,有人可以提供一个例子吗? 我不完全理解.Select<>实际上做了什么。

1 个答案:

答案 0 :(得分: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();
    }
  }