C#.net WEB开发中遇到的问题。 我动态生成了一个Textbox(在服务器用代码生成),然后我在程序运行过程中,对该box输入一些内容。然后单击保存按钮后,页面回来。结果我输入在textbox内容不见了。请问,我要在textbox输入的内容及时的保存起来要如何做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想在单击保存按钮后,在page_Load事件前执行一段代码来保存我输入的textbox内容。请问我该怎么做? 我将他做为一个webcontrol保存在Session中。每次在pageload的时候恢复过来。可是在单击保存按钮后,马上就执行了pageload。有什么办法在单击保存按钮后,先保存textbox到session中,然后在让系统执行pageload。 用 ispostback 属性设置一下 不然你提交后服务器重新加载页面 动态生成的控件是新的了 当然没有值了 把生成控件的代码放到if(!ispostback){//代码}里面 if (!IsPostBack) { TextBox aa = new TextBox(); aa.Text = "动态添加上"; aa.EnableViewState = true; aa.AutoPostBack = true; Panel2.Controls.Add(aa); }================================如此这般设置后,按保存按钮,aa不出现在页面上。我用的是VS.net 2005 我在textbox中输入完数据后,按保存按钮。这个时候页面就重新加载。而textbox中的内容丢失。我确定我只添加这个textbox一次。 我的思路是这样的。1:在pageload中用if (!IsPostBack) {动态创建组件,放到一个数组中。将他们保存到session中。}else{从session中恢复过来。}2:在动态创建的组件上输入数据。3:单击保存。4:从动态组件中获取数据(动态组件都放在一个数组中)。我希望的结果是单击保存后,再次从session中恢复来的动态创建组件的text值跟单击保存按钮前的是一样。实际上,用户在动态创建的组件(如textbox)中输入的内容在按了保存按钮后,那个内容没有。而直接拖放的textbox,保存后依然会存在。除非你用代码清空它或者删除它。我这样说,不知道你们明不明白。 页面加载时用到 Response.Redirect() 了吧,去掉这个就没这事了。 我的msn:[email protected]用及时聊天工具教教我。分一定不会少你的。 !IsPostBack或session或viewstate应该都可以 问题解决了,写了一个函数:该函数在if(IsPostBack){......... InitFieldPlayControl(this.form1);......}调用。public bool InitFieldPlayControl(HtmlForm SourForm) { Control TempControl; foreach (FTField TempField in TCurrency.Fields) { if (TempField.PlayControl != null) { TempControl = SourForm.FindControl(TempField.PlayControl.ClientID); if (TempControl != null) { if (TempField.PlayControl is TextBox) { ((TextBox)TempField.PlayControl).Text = ((TextBox)TempControl).Text; } else { if (TempField.PlayControl is DropDownList) { ((DropDownList)TempField.PlayControl).Text = ((DropDownList)TempControl).Text; } } } TempControl = SourForm.FindControl(TempField.SearchControl.ClientID); if (TempControl != null) { if (TempField.SearchControl is TextBox) { ((TextBox)TempField.SearchControl).Text = ((TextBox)TempControl).Text; } else { if (TempField.SearchControl is DropDownList) { ((DropDownList)TempField.SearchControl).Text = ((DropDownList)TempControl).Text; } } } } } return true; } FTField 是我自定义的一个存放字段结构的信息的类。每个字段在创建的时候就自动添加了显示该字段数据的控件。PlayControl 怎么才能把写好的windows窗体程序很好的迁移到智能设备窗体程序呢?C#编写的 winform如何完整获取数据库表结构 Socket 传送问题 高分求C# 的LCR校验码计算函数 wap网站为什么视频下载(急) C# Activex控件 执行JavaScript 指定转换类型无效 我现在想做一个投票系统,可如何才能实现禁止重复投票呢 一个exe应用程序在运行时如何生成另一个exe应用程序 c#每日一题(一),欢迎C#初学者进来! vs.net 2005 关于路径的形式不合法的错误 Image类为什么能够实例化? 急!.net2.0程式连接Sql2000的问题
把生成控件的代码放到
if(!ispostback)
{
//代码
}
里面
{
TextBox aa = new TextBox();
aa.Text = "动态添加上";
aa.EnableViewState = true;
aa.AutoPostBack = true;
Panel2.Controls.Add(aa);
}
================================
如此这般设置后,按保存按钮,aa不出现在页面上。我用的是VS.net 2005
1:在pageload中用if (!IsPostBack)
{动态创建组件,放到一个数组中。
将他们保存到session中。
}else
{
从session中恢复过来。
}
2:在动态创建的组件上输入数据。
3:单击保存。
4:从动态组件中获取数据(动态组件都放在一个数组中)。
我希望的结果是单击保存后,再次从session中恢复来的动态创建组件的text值跟单击保存按钮前的是一样。实际上,用户在动态创建的组件(如textbox)中输入的内容在按了保存按钮后,那个内容没有。而直接拖放的textbox,保存后依然会存在。除非你用代码清空它或者删除它。
我这样说,不知道你们明不明白。
用及时聊天工具教教我。分一定不会少你的。
该函数在if(IsPostBack){......... InitFieldPlayControl(this.form1);......}调用。public bool InitFieldPlayControl(HtmlForm SourForm)
{
Control TempControl;
foreach (FTField TempField in TCurrency.Fields)
{
if (TempField.PlayControl != null)
{
TempControl = SourForm.FindControl(TempField.PlayControl.ClientID);
if (TempControl != null)
{
if (TempField.PlayControl is TextBox)
{
((TextBox)TempField.PlayControl).Text = ((TextBox)TempControl).Text;
}
else
{
if (TempField.PlayControl is DropDownList)
{
((DropDownList)TempField.PlayControl).Text = ((DropDownList)TempControl).Text;
}
}
}
TempControl = SourForm.FindControl(TempField.SearchControl.ClientID);
if (TempControl != null)
{
if (TempField.SearchControl is TextBox)
{
((TextBox)TempField.SearchControl).Text = ((TextBox)TempControl).Text;
}
else
{
if (TempField.SearchControl is DropDownList)
{
((DropDownList)TempField.SearchControl).Text = ((DropDownList)TempControl).Text;
}
}
}
}
}
return true;
}