繁体   English   中英

如何在多行文本框中的每个新行中添加数字C#/ ASP.net

[英]How to add number in each new line in a multiline textbox C# / ASP.net

我在c#/ asp.net中有一个多行文本框,我想在用户按Enter时添加每行的编号。

我试图这样做,但是没有用。

在文本框上添加一个inputchanged事件,每当输入发生更改时,请查看是否按下回车键。 如果是,则获取文本框的当前文本并在其后附加/n

像这样向文本框添加onkeypress事件

<asp:TextBox ID="TextBox1" clientidmode="Static" runat="server" onkeypress="return EnterEvent(event)"></asp:TextBox> 

并在这样的EnterEvent方法中

function EnterEvent(e) {
        if (e.keyCode == 13) {
            // get the textbox text and append /n to it
        }
    }

尽管不是万无一失的解决方案-以下内容将添加行号。

<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" onKeyup="onTextBox1Change(this)"></asp:TextBox>

function onTextBox1Change(ele) {
            if (event.keyCode == 13) {
                var lnNumber = (ele.value.match(/\n/g) || []).length;

                ele.value = ele.value + (lnNumber+1);
            }
        }

您仍然需要处理编辑(例如,如果用户返回第一行,然后从介于两者之间的某个位置按Enter,会发生什么情况)

如果您在此处提供代码,将会更容易。 在这种情况下,KeyDown事件将为您提供帮助。

代码背后:

private void txtBox1_KeyDown(object sender, KeyEventArgs e)
{
    //Insert the code you want to run when the text changes here!
    if(e.KeyData == Keys.Enter)
    {  
       //try from the below
       //txtShowCount = ViewState["count"] + 1;
       txtBox1.Text = txtBox1.Text + "\r\n";
       txtBox1.Text = txtBox1.Text + Environment.NewLine;
    }
}   

如果没有数据绑定,以上内容可能对您有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM