首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

回发ASP.NET后,Textbox未保存的值不会保留

是因为ASP.NET的页面生命周期中,文本框的值是在页面加载时从ViewState中恢复的。当页面回发(postback)时,页面会重新加载,此时文本框的值会被重置为初始值或者ViewState中保存的值。

要解决这个问题,可以使用以下方法:

  1. 使用ViewState:在页面的Page_Load事件中,将文本框的值保存到ViewState中,然后在页面回发后,从ViewState中恢复文本框的值。例如:
代码语言:txt
复制
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // 页面首次加载时,保存文本框的值到ViewState
        ViewState["textboxValue"] = textbox1.Text;
    }
    else
    {
        // 页面回发后,从ViewState中恢复文本框的值
        textbox1.Text = ViewState["textboxValue"].ToString();
    }
}
  1. 使用Session:将文本框的值保存到Session中,然后在页面回发后,从Session中恢复文本框的值。例如:
代码语言:txt
复制
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // 页面首次加载时,保存文本框的值到Session
        Session["textboxValue"] = textbox1.Text;
    }
    else
    {
        // 页面回发后,从Session中恢复文本框的值
        textbox1.Text = Session["textboxValue"].ToString();
    }
}
  1. 使用HiddenField:在页面的Page_Load事件中,将文本框的值保存到HiddenField中,然后在页面回发后,从HiddenField中恢复文本框的值。例如:
代码语言:txt
复制
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // 页面首次加载时,保存文本框的值到HiddenField
        hiddenField1.Value = textbox1.Text;
    }
    else
    {
        // 页面回发后,从HiddenField中恢复文本框的值
        textbox1.Text = hiddenField1.Value;
    }
}

以上是解决文本框未保存值的常用方法,根据具体情况选择适合的方法即可。在腾讯云的云计算服务中,可以使用腾讯云的云服务器(CVM)来搭建ASP.NET应用程序的运行环境,使用腾讯云的云数据库(TencentDB)来存储数据,使用腾讯云的云存储(COS)来存储文件等。具体产品和介绍可以参考腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Asp.net页面生命周期

想了解管道模型,请参考asp.net管道模型(管线模型)之一不可收拾)。如有不足请大家指出^_^!!  ...因为Request对象不是在HttpHandler中实例化,具体请参考:asp.net管道模型(管线模型)之一不可收拾)。 4.页面初始化(OnInit):读取页面和控件,生成动态服务器控件。...该事件是管加载,不管恢复,所以执行该方法控件和页面依然没有和ViewState。...15.事件处理:如ButtonClick事件处理程序;注意——若在这里添加服务器控件,那么将不会触发loadviewstate和loadpostback。...经过该事件,再设置控件属性(如TextBoxText、CssClass属性等,ViewState会保存控件所有属性),结果能呈现到客户端,但传时控件ViewState依然为旧;页面ViewState

2.3K80

ASP.NET 2.0页面框架几处变化

新增页面事件: 在ASP.NET 2.0中,一个ASP.NET页面的生命周期主要为(红色字体表示ASP.NET 2.0新增加阶段页面事件):客户端请求页面—》预初始化(OnPreInit)—》初始化...OnInitComplete)—》载入ViewState(LoadViewState)—》处理回送数据(IPostBackDataHandler)—》Page_OnPreLoad—》Page_OnLoad—》更改通知...(RaisePostDataChangedEvent)—》处理事件(RaisePostBackEvent)—》Page_OnLoadComplete—》预呈现(OnPreRender)—》完成预呈现...在这个阶段里,可以进行定义站点主题(Theme)或加载站点个性化所需要数据信息等操作。 OnInitComplete:完成初始化页面OnInit事件触发。...这是完成页面呈现最后一道关卡,在此之后,页面将无法再进行任何呈现上改动。 SaveControlState:保存控件状态ControlState。

1.4K30

常见 Datagrid 错误

可以使用 Datagrid 创建列表数据而没有使用 我知道您不会再使用如下所示代码,但 ASP.NET 领域中许多守旧用户仍在继续使用它们: Response.Write("") While...忘记在每个 Datagrid 事件中执行 .DataBind() 调用,从而导致 一个常见问题是:“当我点击 Datagrid 某一行中 Edit(编辑)链接时,页面,且不包含任何数据。...如果遇到这些情况,请注意,提交页面时不要保留这些动态控件。必须在页面生命周期早期,在每次回时重新创建动态控件(例如在 Page_Init 事件中)。警言:创建控件要早,创建控件要勤。...否则,请对两次回之间状态信息不会发生更改各个控件禁用 ViewState,或者对不需要隐藏字段来跟踪自身状态那些控件禁用 ViewState。...对 Datagrid 控件或包含 Datagrid 页面禁用 ViewState 时,如果 Datagrid 会启动事件,那么需要执行一些特殊步骤。

2.3K20

ASP.NET保持用户状态九种选择

在传统ASP中,如果被保存数据在应用程序生存期中根本不会改变(或很少改变,例如只读数据和大多数情况下是读操作数据),Application对象是理想选择。...在图6中,一个ASP.NET页面设置了某个用户ID,在这以后它保持在一个隐藏窗体字段中。后面的向任何页面的请求保留这个,直到页面使用Submit按钮链接到其它用户。...ViewState是ASP.NET一个新容器,也许你已经使用它了,但是你可能还是不了解它。这是因为所有的内建Web控件都使用ViewState在页面(postback)间保持自己。...但是你必须小心,因为它影响应用程序性能。影响大小依赖于之间使用ViewState多少--对大多数Web窗体来说数量非常小。...如果某个特定控件不需要在之间保持数据,请通过把EnableViewState设置为false关闭该对象ViewState。

1.8K20

ASP.Net WebForm温故知新学习笔记:二、ViewState与UpdatePanel探秘

,该环境不保存与会话有关任何信息。...ViewState对应项中可以存储任何类型(参数是Object类型),实施上任何类型存储到ViewState中都会被装箱为Object类型。   ...④真正禁用ViewState:刚刚我们三种方法实践,在页面还是出现_VIEWSTATE隐藏域,尽管它保留了最基本信息。那么,我们可能会问?...因此,也就出现了前些年,很多WebForm开发者陆续使用ASP.Net AJAX Extension进行AJAX开发,纷纷表示:AJAX如此简单,我等岂能不会?...在此方法中,创建了XmlHttpRequest对象,也使用了open方法指明以GET还是POST方法向服务器哪个处理程序发送请求,并且也为该请求指定了请求成功需要执行调函数方法(onreadystatechange

1.7K30

C#页面之间跳转功能小结

在两个ASP.NET页面之间传递 引言   ASP.NET提供了卓越事件驱动编程模型,让开发者简化了应用程序总体设计,但是这个也造成了它固有的一些问题,例如,使用传统ASP里,我们可以通过使用POST...方法很容易地实现页面间传递,同样事情,在使用事件驱动编程模型ASP.NET就不是那么容易了,当然了,我们仍然有一些方法可以实现同样功能。...需要注意是跳转内部空间保存所有数据信息将会丢失,所以需要用到Session. 2.Response.Redirect 打开新窗口两种方法            一般情况下,Response.Redirect...默认情况下,Transfer方法不会把表单数据或查询字符串从一个页面传递到另一个页面,但是如果把该方法第二个参数设置成true,就可以保留原先页面的表单数据和查询字符串。...Server.Execute("hyj.aspx");//服务器保存此页的当前数据,使页面转向到hyj.aspx执行,在hyj.aspx执行之后又返回本页继续执行,再将三者结果合并返回给浏览器。

3.9K10

asp.net(c#)网页跳转几种方法小结「建议收藏」

大家好,又见面了,我是你们朋友全栈君。 在asp.net下,经常需要页面的跳转,下面是具体几种方法。...需要注意是跳转内部空间保存所有数据信息将会丢失,所以需要用到session。...,TextBox2控件代码如下: public string Name { get { return TextBox1.Text; } } public string EMail {...这个方法重定向请求是发生在服务器端,所以浏览器url地址仍然保留是原页面的地址!...默认情况下,Server.Transfer方法不会把表单数据或查询字符串从一个页面传递到另一个页面,但只要把该方法第二个参数设置成 Tb310True,就可以保留第一个页面的表单数据和查询字符串。

1.8K40

.NET工作准备--04ASP.NET

然后开始处理数据,也就是把表单中键/对存入对象中。...); asp.net中有些控件本身实现类保存数据功能,而不依靠ViewState.例如TextBox,即使ViewState关闭,数据也不会丢失;ViewState可以保存任何可序列化对象,而不仅仅限于控件状态数据...Session:一个数据字典,用于在会话中维持状态数据,从理论上来说,同一个会话过程中,Session数据是不会丢失(关闭浏览器或主动结束会 话).用户认证(authentication)--输入用户名密码....保证在重启Web应用程序仍能保留会话状态,并可使会话状态应用于多个Web服务器; sqlserver:() 安装状态数据库systemroot\Microsoft.Net\Framework\...页面间传方式: 页面传是学习asp.net初期都会面临一个问题,总的来说有页面传、存储对象传、ajax、类、model、表单等。

1.9K50

asp.net 跳转页面

需要注意是跳转内部空间保存所有数据信息将会丢失,所以需要用到session。...,TextBox2控件代码如下: 复制代码 代码如下: public string Name { get { return TextBox1.Text;...这个方法重定向请求是发生在服务器端,所以浏览器url地址仍然保留是原页面的地址!...后面的bool为是否停止执行当前页。 跳转向新页面,原窗口被代替。” 浏览器中URL为新路径。 :Response.Redirect方法导致浏览器链接到一个指定URL。...默认情况下,Server.Transfer方法不会把表单数据或查询字符串从一个页面传递到另一个页面,但只要把该方法第二个参数设置成 Tb310True,就可以保留第一个页面的表单数据和查询字符串。

3.3K10

.Net知识大全(个人整理)

C#就是为宣传.NET而创立,它直接集成于Visual Studio .NET中,VB也在.NET 1.0对其进行支持, 所以这两门语言与.NET平台耦合度很高,并且.NET上技术大多都是以C...一开始进程线程池是空,如果进程使用线程被创建,并且完成了线程执行,它不会被销毁,而是加入到进程线程池中,这,如果进程需要一个另外一个线程,CLR就会从池中还原一个线程,这就节省了很多时间。...88.float f=-123.567F; int i=(int)f;i现在是 -123 将f强制转换成int型,也就是将小数点后面的部分直接截取,保留整数部分。...不使用com 不在支持动态游标和服务器端游 可以断开connection而保留当前数据集可用 强类型转换 xml支持 110.大概描述一下ASP.NET服务器控件生命周期 答:初始化 加载视图状态...处理数据 加载 发送回更改通知 处理事件 预呈现 保存状态 呈现 处置 卸载 111.匿名内部类是否可以继承其它类,是否可以实现接口?

1.1K20

我看AutoEventWireup

下面加深一步思考:在Textbox1和Textbox2两个文本框中分别赋值1和2,单击求和按钮,讲表单中控件传送到服务器,Default.aspx.cs中程序依次执行Page_Load方法和Button_Click...当再一次生成HTML网页时,两个文本框应该会自动设置为初始(即空)状态,这就是Web无状态性,即Web不能够保存上次程序完成时那些变量值,但是事实上这是的TextBox1和TextBox2两个文本框中仍然显示着单击求和按钮之前...好吧,是ASP.NET用另一种方法讲控件或状态持续地保存了下来,具体做法: 服务器执行Default.aspx.cs中所有的程序,将当前控件状态记录到表单一个隐藏区域()中,在提交ASP.NET解析这个隐藏域,重新获取各控件状态,这样就能够保持Web控件状态不停地传递下来,这个过程有点像操作系统调用中断时,将当时各寄存器状态都保存起来...,中断结束,再将寄存器状态又恢复回来。

74430

ASP.NET AJAX(9)__Profile Service什么是ASP.NET Profile如何使用ASP.NET ProfileProfile ServiceProfile Service预

来扩充 如何使用ASP.NET Profile 配置ProfileProvider(可以使用内置SqlProfileProvider) 配置Profile属性 一个使用ASP.NET Profile...ASP.NET 为profile提供一个数据库支持 然后我们打开数据库管理器,我电脑里装Microsoft SQL Serverdevelop版本,VS2008带是Express版本,但是在某些功能上限制...这里能找到上一个表ApplicationId,UserName,IsAnonymous等一系列信息这就是我们通过profile设置进来 保存信息表,则是存放在了aspnet_Profile这个表里...名,null表示全部 loadCompletedCallback,//加载成功调函数 failedCallback,//加载失败调函数 userContext//可以随意设置上下文对象 );...,//保存成功调函数 failedCallback,//加载失败调函数 userContext//这个,还用写吗?

1.2K90

ASP.NET中页面传技巧

ASP.NET中有几种基于页面间方法:常见有QueryString.这种方法最简单不过了,...在ASP.NET中有几种基于页面间方法:常见有QueryString.这种方法最简单不过了,但缺点就是它把要传送显示在地址栏中,如果对于在安全性信息来说这并不是一种好解决方案。...整个传过程完成!   还有一种是利用Session变量来传,这种也比较常用。利用Session比较灵活,可以 在多个页面间进行传。当调用其remove,Session即失效。...{ WebForm1 f1=(WebForm1)Context.Handler; //通过Context.Handler来创建一个WebForm1页面对象,返 一个object Response.Write...,本示例中为TextBox,最后调用其属性Text,获取在TextBox1中,达到传效果。

2.5K30

ASP.NET WEB——项目创建与文件上传操作

ASP.NET WEB——项目创建与文件上传操作 目录 ASP.NET WEB——项目创建与文件上传操作 前言 环境 项目创建 表单校验 创建自定义Web窗体 登陆窗体示例 前台 后台交互 前台验证...添加密码双次输入验证 文件上传 前言 ASP.NET WEB是一门非常简单课程内容,我们大概用三章内容来包含所有的知识点,三章分为 1、ASP.NET WEB项目创建与文件上传操作 2、ASP.NET...WEB项目中Cookie与Session用法 3、ASP.NET WEB项目中GridView与Repeater数据绑定控件用法 分为三章,基本上将具体用法讲解完毕,配套【Repeater...我们选择创建【Web窗体】项目 创建完成可以看到页面。...this.file.FileName); //组合新文件名 string newFileName = Guid.NewGuid().ToString("N") + ext; //拼接完整服务保存路径

1.7K20

JavaScript和ASP.NET

JavaScript和ASP.NET 因项目需要,最近一段时间里对于js开发有了一定了解。...在基于ASP.NET开发中,经常性需要JS脚本来增加一些客户端控制,比如限制输入字符,日期控件等等。一般这样控制基本上在客户端完成就比较好,无需传到服务端。...总结了最近开发中使用一些js技巧,提供给大家 1、js脚本如何访问服务器控件         界面上有一个TextBox控件,ID为Name,js里可以采用如下脚本取Name         ...var myvalue=document.all('Name').value; 2、服务器控件如何取js中变量         目前未发现比较好办法,我通常采用方法是在界面上放一个隐藏控件HtmlInputHidden...,然后设置为以服务器控件运行,这样在js脚本中和ASP.NET代码里都可以访问到该控件         js中给服务器控件赋值:         var bt=document.all('Name'

2.8K60

enableEventValidation 调参数无效 解决办法

大家好,又见面了,我是你们朋友全栈君。 调参数无效。...当EnableEventValidation 属性设置为 true 时,ASP.NET 仅允许在请求或调期间可由控件引发事件。...通过此模型,控件可在呈现期间注册其事件,然后在调期间验证这些事件。默认情况下,ASP.NET所有事件驱动控件均使用此功能。 强烈建议不要禁用事件验证。...如果确实需要禁用事件验证,请确保不会构造出对应用程序产生意料之外影响。...二 是 在下拉菜单中使用ajax,常见于省市联动菜单,可能是由于在aspx页面赋给了下拉菜单初始Item,在事件时提示该错误,将下拉菜单初始Item删除,在绑定事件中添加Item项。

2K10
领券