我有一个"人"具有如下构造函数的类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Programming_handin_2___Arrays
{
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Password { get; set; }
public Person(string name, int age, string password)
{
this.Name = name;
this.Age = age;
this.Password = password;
}
public override string ToString()
{
return Name + ", " + Age + ", " + Password;
}
}
}
我还有一个带有几个Textbox的aspx页面,用于添加上面的变量。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
Name:<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<br />
Age:<br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<br />
<br />
Password:<br />
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<br />
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Add person" />
<br />
<br />
</div>
</form>
</body>
</html>
我的目标是创造一个新的人物#34;每当有人填写表单并单击按钮时。 &#34;人&#34;然后应该显示在页面上。实现这一目标的最佳方法是什么?
答案 0 :(得分:0)
List<Person> persons;
protected void Page_Load(object sender, EventArgs e){
if(!IsPostBack){
List<Person> persons= new List<Person>();
Session["personslist"]=persons;
}else{
persons= (List<Person>)Session["personslist"];
}
}
protected void Button1_Click(object sender, EventArgs e){
persons.Add(new
Person(TextBox1.Text,int.parse(TextBox2.Text),TextBox3.Text));
}
答案 1 :(得分:0)
这个问题已经在这个网站上有多个重复,所以我会在这个答案中包含他们的链接,因为并非所有答案都是相同的,并且并非所有答案都可能正是您所寻找的。请确保在发布之前进行研究,因为我所要做的就是快速谷歌搜索&#34;动态添加元素到页面c#&#34;和第二个(用javascript替换c#)。我的快速谷歌搜索产生了多个答案,可以帮助您准确地完成您的要求,我相信我过去使用其中的两个来达到您想要做的同样的事情。
但这个想法很简单。基本上遍历您的Person
对象集合,并将元素添加到指定的父元素,直到您的循环完成。其余的归结为造型,如果你在那里遇到问题,你应该为此开始一个新的问题。
以下堆栈溢出帖子可以帮助您找到正确的方向:
Dynamically add HTML to ASP.NET page
How to add HTML elements Dynamically (ASP.NET)
Can I dynamically add HTML within a div tag from C# on load event?
Create <div> and append <div> dynamically