查找文本框光标位置,行号。和列号。在 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 中的主要内容,如果未能解决你的问题,请参考以下文章