C# 所有数据在回发后消失
所以在一个文本框上,我会写下有多少下拉列表、文本框、标签等等,以及页面的自动回写。但是当我在gridview上选择一个项目后,页面会自动回发,所有数据都会消失。我希望gridview是自动回发的,但如何才能使它不使我从第一个文本框添加的所有其他项消失 有关更多信息,请参阅以下源代码: Default.aspxC# 所有数据在回发后消失,c#,asp.net,gridview,postback,C#,Asp.net,Gridview,Postback,所以在一个文本框上,我会写下有多少下拉列表、文本框、标签等等,以及页面的自动回写。但是当我在gridview上选择一个项目后,页面会自动回发,所有数据都会消失。我希望gridview是自动回发的,但如何才能使它不使我从第一个文本框添加的所有其他项消失 有关更多信息,请参阅以下源代码: Default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.auto-style1 {
width: 248px;
}
.auto-style2 {
width: 253px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<table style="width:100%;">
<tr>
<td class="auto-style2">
</td>
<td>
</td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>
</td>
<td> </td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</td>
<td> </td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
<asp:PlaceHolder ID="PlaceHolder2" runat="server"></asp:PlaceHolder>
</td>
<td> </td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
<asp:PlaceHolder ID="PlaceHolder3" runat="server"></asp:PlaceHolder>
</td>
<td> </td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
<asp:PlaceHolder ID="PlaceHolder4" runat="server"></asp:PlaceHolder>
</td>
<td> </td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
<asp:PlaceHolder ID="PlaceHolder5" runat="server"></asp:PlaceHolder>
</td>
<td> </td>
</tr>
<tr>
<td class="auto-style1"> </td>
<td class="auto-style2">
</td>
<td> </td>
</tr>
</table>
<br />
</div>
</form>
</body>
</html>
.auto-style1{
宽度:248px;
}
.auto-style2{
宽度:253px;
}
和Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
public partial class Default2 : System.Web.UI.Page
{
DropDownList artikulli;
TextBox cmimi;
Label tregoCmimi;
TextBox sasia;
Label cmimiGjithsej;
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
}
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(TextBox1.Text))
{
int a = int.Parse(TextBox1.Text);
for (int j = 1; j <= a; j++)
{
Guid IDUnik = new Guid();
artikulli = new DropDownList();
cmimi = new TextBox();
tregoCmimi = new Label();
sasia = new TextBox();
cmimiGjithsej = new Label();
artikulli.ID = j.ToString(IDUnik.ToString("N").Substring(31));
artikulli.AutoPostBack = true;
cmimi.ID = j.ToString(IDUnik.ToString("D").Substring(30));
tregoCmimi.ID = j.ToString(IDUnik.ToString("P"));
sasia.ID = j.ToString(j.ToString(IDUnik.ToString("X")));
cmimiGjithsej.ID = j.ToString(j.ToString(IDUnik.ToString("B"))); ;
PlaceHolder1.Controls.Add(artikulli);
PlaceHolder2.Controls.Add(cmimi);
PlaceHolder3.Controls.Add(tregoCmimi);
PlaceHolder4.Controls.Add(sasia);
PlaceHolder5.Controls.Add(cmimiGjithsej);
artikulli.Items.Insert(0, new ListItem("<Select Subject>", "0"));
artikulli.Items.Insert(1, new ListItem("<Select Subject>", "1"));
}
}
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
使用System.Data.SqlClient;
使用系统配置;
使用系统数据;
公共部分类Default2:System.Web.UI.Page
{
投递员artikulli;
文本框cmimi;
标记Tregocmi;
文本框sasia;
标签cmimighitsej;
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(第IsPostBack页)
{
}
}
受保护的void TextBox1\u TextChanged(对象发送方,事件参数e)
{
如果(!string.IsNullOrEmpty(TextBox1.Text))
{
int a=int.Parse(TextBox1.Text);
对于(int j=1;j,您可以执行以下操作
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
AddItems();
}
}
private void AddItems()
{
if (!string.IsNullOrEmpty(TextBox1.Text))
{
int a = int.Parse(TextBox1.Text);
for (int j = 1; j <= a; j++)
{
Guid IDUnik = new Guid();
artikulli = new DropDownList();
cmimi = new TextBox();
tregoCmimi = new Label();
sasia = new TextBox();
cmimiGjithsej = new Label();
artikulli.ID = j.ToString(IDUnik.ToString("N").Substring(31));
artikulli.AutoPostBack = true;
cmimi.ID = j.ToString(IDUnik.ToString("D").Substring(30));
tregoCmimi.ID = j.ToString(IDUnik.ToString("P"));
sasia.ID = j.ToString(j.ToString(IDUnik.ToString("X")));
cmimiGjithsej.ID = j.ToString(j.ToString(IDUnik.ToString("B"))); ;
PlaceHolder1.Controls.Add(artikulli);
PlaceHolder2.Controls.Add(cmimi);
PlaceHolder3.Controls.Add(tregoCmimi);
PlaceHolder4.Controls.Add(sasia);
PlaceHolder5.Controls.Add(cmimiGjithsej);
artikulli.Items.Insert(0, new ListItem("<Select Subject>", "0"));
artikulli.Items.Insert(1, new ListItem("<Select Subject>", "1"));
}
}
}
受保护的无效页面加载(对象发送方,事件参数e)
{
如果(第IsPostBack页)
{
AddItems();
}
}
私有void附加项()
{
如果(!string.IsNullOrEmpty(TextBox1.Text))
{
int a=int.Parse(TextBox1.Text);
对于(int j=1;j受保护的无效页面加载(对象发送方,事件参数e)
{
如果(第IsPostBack页)
{
填充();
}
}
受保护的void TextBox1\u TextChanged(对象发送方,事件参数e)
{
填充();
}
void填充()
{
占位符1.Controls.Clear();
占位符2.Controls.Clear();
占位符3.Controls.Clear();
占位符4.Controls.Clear();
占位符5.Controls.Clear();
如果(!string.IsNullOrEmpty(TextBox1.Text))
{
int a=int.Parse(TextBox1.Text);
对于(int j=1;j)检查此链接。它有一个解决方案来维护动态添加控件的viewstate。您必须在Init上重新创建控件以保留其viewstate。
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
Populate();
}
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
Populate();
}
void Populate()
{
PlaceHolder1.Controls.Clear();
PlaceHolder2.Controls.Clear();
PlaceHolder3.Controls.Clear();
PlaceHolder4.Controls.Clear();
PlaceHolder5.Controls.Clear();
if (!string.IsNullOrEmpty(TextBox1.Text))
{
int a = int.Parse(TextBox1.Text);
for (int j = 1; j <= a; j++)
{
Guid IDUnik = new Guid();
artikulli = new DropDownList();
cmimi = new TextBox();
tregoCmimi = new Label();
sasia = new TextBox();
cmimiGjithsej = new Label();
artikulli.ID = j.ToString(IDUnik.ToString("N").Substring(31));
artikulli.AutoPostBack = true;
cmimi.ID = j.ToString(IDUnik.ToString("D").Substring(30));
tregoCmimi.ID = j.ToString(IDUnik.ToString("P"));
sasia.ID = j.ToString(j.ToString(IDUnik.ToString("X")));
cmimiGjithsej.ID = j.ToString(j.ToString(IDUnik.ToString("B"))); ;
PlaceHolder1.Controls.Add(artikulli);
PlaceHolder2.Controls.Add(cmimi);
PlaceHolder3.Controls.Add(tregoCmimi);
PlaceHolder4.Controls.Add(sasia);
PlaceHolder5.Controls.Add(cmimiGjithsej);
artikulli.Items.Insert(0, new ListItem("<Select Subject>", "0"));
artikulli.Items.Insert(1, new ListItem("<Select Subject>", "1"));
}
}
}