关于repeater 动态添加行,保存画面上值的问题
各位朋友好。
我现在有一个添加的页面,需要添加明细信息,并且可以添加行数。
刚进入画面时,明显行的输入框都是空白的,输入后,点击保存。
页面代码(明显行的项目比较多,现在只列出一个:名称)
c#代码
现在的问题就是 画面输入数据后,点击【添加一行】按钮,画面刷新,页面上之前输入的数据就全清空了,我现在也明白,问题就是出现在 添加一行时,重新绑定了 DataTable,把数据弄没了。 但我一直没想到什么好办法,能把输入的值保留下来。或者有没有其他的办法来处理 这种 输入多行数据的问题,不用repeater也可以。
请各位大侠多多指教。
我现在有一个添加的页面,需要添加明细信息,并且可以添加行数。
刚进入画面时,明显行的输入框都是空白的,输入后,点击保存。
页面代码(明显行的项目比较多,现在只列出一个:名称)
<asp:Repeater ID="m1Repeater" runat="server">
<tr>
<td><%#Container.ItemIndex+1%> </td>
<td><asp:TextBox ID="txtName" runat="server"></asp:TextBox></td>
</tr>
</asp:Repeater>
<asp:Button ID="btnAdd" runat="server" Text="添加一行" OnClick="btnAdd_Click" />
c#代码
//画面初始化事件
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//默认包含三行数据(分包商)
DataTable m1Dt = new DataTable();
for (int i = 0; i < 3; i++)
{
DataRow m1Dr = m1Dt.NewRow();
m1Dt.Rows.Add(m1Dr);
}
m1Repeater.DataSource = m1Dt;
m1Repeater.DataBind();
this.ViewState["M1"] = m1Dt;
}
}
//添加明细输入行
protected void btnAddSupplier_Click(object sender, EventArgs e)
{
DataTable dt = (DataTable)this.ViewState["M1"];
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
m1Repeater.DataSource = dt;
m1Repeater.DataBind();
this.ViewState["M1"] = dt;
}
现在的问题就是 画面输入数据后,点击【添加一行】按钮,画面刷新,页面上之前输入的数据就全清空了,我现在也明白,问题就是出现在 添加一行时,重新绑定了 DataTable,把数据弄没了。 但我一直没想到什么好办法,能把输入的值保留下来。或者有没有其他的办法来处理 这种 输入多行数据的问题,不用repeater也可以。
请各位大侠多多指教。
...全文
相关推荐
asp.net Repeater取得CheckBox选中的某行某个值
Repeater取得CheckBox选中的某行某个值的实现代码
repeater动态合并列
动态合并相同数据列。只需修改配置文件和显示列即可以查看效果。此资源参照他人做的一个代码实例
后台动态创建Repeater并绑定数据
后台动态创建Repeater控件,并绑定数据。
asp.net Repeater取得CheckBox选中的某行某个值的c#写法
asp.net(c#)利用Repeater取得CheckBox选中行的某个值的代码
外部按钮获取Repeater中HiddenField的值
asp.net外部button按钮获取Repeater中HiddenField的值


