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

Posted

技术标签:

【中文标题】查找文本框光标位置,行号。和列号。在 asp.net 中【英文标题】:finding Textbox cursor position,line no. and column no. in asp.net 【发布时间】:2012-02-12 00:40:28 【问题描述】:

我是 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();
        
    

【问题讨论】:

您必须使用 javascript 才能获得相同的功能。由于选择是客户端的,而该代码将是服务器端的。 ***.com/questions/263743/… 【参考方案1】:

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

How to get selected text from textbox control with javascript

【讨论】:

什么是asp.net中的等效方法,c#中的GetLinefromCharIndex()和GetFirstCharIndexFRomLine()方法 我想我需要将您的问题更正为:“JavaScript 中的等效方法是什么?”因为 ASP.NET 由客户端部分和服务器端部分组成。在客户端, 您可以在提交到服务器之前添加 JavaScript 命令以从/向接口获取/设置数据。我猜您正在尝试将 C# 代码转换为 JavaScript,我不确定是否有任何等效的 JavaScript 方法适用于我们在 .NET 中。我刚刚快速浏览了 MSDN,一些 Google 搜索没有显示任何有用的结果,可能是时候根据现有方法更改您的实现了。 只是为了给你一个好的起点:w3schools.com/jsref/dom_obj_all.asp

以上是关于查找文本框光标位置,行号。和列号。在 asp.net 中的主要内容,如果未能解决你的问题,请参考以下文章

excle vba,如何查找一个已知值的行号和列号?

EXCEL VBA 如何找到某一数据的行号和列号?

VBA如何得到选中的多行 的行号和列号

Java:光标当前位置的列号和行号

如何在vba中得到当前单元格的行号和列号

请教在QTableView怎么才能不显示行号和列头