如何在多行文本框的每一行中添加数字
本文关键字:一行 数字 添加 文本 | 更新日期: 2023-09-27 18:09:13
我在c#/asp.net中有一个多行文本框,我想在用户按Enter时添加每行的数量....
我试过那样做,但它不起作用。
在文本框上添加一个inputchanged
事件,每当输入发生变化时,查看是否按下了enter键。如果是,则获取文本框的当前文本并将/n
附加到它
虽然不是一个万无一错的解决方案-下面将添加行号。
<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会发生什么)
像这样为textBox添加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
}
}
在这里提供代码会更容易。在这种情况下,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;
}
}
如果不是数据绑定,上面可能会对你有帮助