c# - 添加多个文本框.net

标签 c# asp.net

我开始使用 .net,首先我将动态创建多个文本框。

我写了这个:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Page sans titre</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="Button" onclick="OnclickButton" />
    </div>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <br />
    </form>
</body>
</html>

还有这个

namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {    
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void OnclickButton(object sender, EventArgs ea)
        {
            Random random = new Random();
            int randomNumber = random.Next(0, 100);

            Button btnSomeButton = sender as Button;
            btnSomeButton.Text = "I was clicked!" + randomNumber;

            TextBox txt = new TextBox();
            txt.ID = "txt_" + randomNumber;
            form1.Controls.Add(txt);
        }    
    }
}

我不明白为什么当我在 Button1 上单击 2 次时只出现 1 个文本框。

为什么会有这种行为? 做我想做的事的好方法是什么? 提前谢谢你

最佳答案

每次您单击该按钮时,它都会进行回发。在 postbacks 上阅读此内容

系统一次只能处理一次回发。它需要等待回发返回才能处理另一个操作。

另请阅读 Page lifecycle enter image description here

关于c# - 添加多个文本框.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16673258/

相关文章:

c# - 如何解码 base64 编码的字符串?

c# - 如何初始化 DateTime 字段?

asp.net - 为什么不应该对传递给 Crypto.HashPassword 的密码加盐?

javascript - 在 Asp.net 中使用 ajax 调用显示 google map

c# - 值数组形成矩阵c#

c# - WPF C# 实现调整 handle 大小

c# - ASP.NET 中每个请求的 Entity Framework 对象上下文?

asp.net - 查询数据库 MVC 4

javascript - 文本更改时,将文本框文本(父页面)更改为另一个文本框(子页面)

c# - 学习 C# 有助于或阻碍 VB.NET 学习