簡體   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