在asp.net中查找文本框光标位置、行号和列号

本文关键字:位置 光标 net asp 查找 文本 | 更新日期: 2023-09-27 18:20:25

我是web应用程序开发的初学者。我有一个windows应用程序的代码。我必须将相同的功能转换为web应用程序。我有一个文本框控件。我正在将一些文本加载到该文本框中。我想找到当前的光标位置,行号和列号。windows应用程序的代码如下:

    private void Form1_Load(object sender, EventArgs e)
    {
        textBox1.Text = @"This is a demo for text box control
                      I am trying to find the cursor position ,
                      line no and column no 
                       of the cursor.";         

    }
    private void textBox1_Click(object sender, EventArgs e)
    {
       textBox1.SelectionStart++;
       label2.Text = textBox1.SelectionStart.ToString();
       int i = textBox1.GetLineFromCharIndex(textBox1.SelectionStart);
       label3.Text = i.ToString();
       int j =textBox1.SelectionStart - textBox1. GetFirstCharIndexFromLine(i);
       label4.Text = j.ToString();
    }
    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if ((e.KeyCode == Keys.Up) || (e.KeyCode == Keys.Right) || 
            (e.KeyCode == Keys.Left) || (e.KeyCode == Keys.Down))
        {
            textBox1.SelectionStart++;
            label2.Text = textBox1.SelectionStart.ToString();
            int i = textBox1.GetLineFromCharIndex(textBox1.SelectionStart);
            label3.Text = i.ToString();
            int j = textBox1.SelectionStart - 
                    textBox1.GetFirstCharIndexFromLine(i);
            label4.Text = j.ToString();
        }
    }

在asp.net中查找文本框光标位置、行号和列号

作为本文中公认的答案,您必须使用javascript在clinet端获取SelectionStart和SelectionEnd。然后,将结果(可能使用隐藏的输入值)发布到服务器,并重置数据:

如何使用javascript 从文本框控件中获取选定文本